private void BtnLoad_Click(object sender, EventArgs e) { if (DtStartDate.Text.Trim().Length == 0) { ProjectFunctions.SpeakError("Invalid MonthYear"); DtStartDate.Focus(); return; } DataSet ds = ProjectFunctions.GetDataSet("sp_LoadAttendenceDateWise '" + Convert.ToDateTime(DtStartDate.EditValue).ToString("yyyy-MM-dd") + "'"); if (ds.Tables[0].Rows.Count > 0) { foreach (DataRow dr in ds.Tables[0].Rows) { dr["working_hours_f"] = Convert.ToDecimal(ProjectFunctions.TimeFromMinutes(Convert.ToDouble(dr["working_hours"]))); dr["ot_deducton_time_f"] = Convert.ToDecimal(ProjectFunctions.TimeFromMinutes(Convert.ToDouble(dr["ot_deducton_time_f"]))); } dt = ds.Tables[0]; AttendenceGrid.DataSource = dt; AttendenceGridView.BestFitColumns(); } }
private void AttendenceGrid_KeyDown(object sender, KeyEventArgs e) { try { if (e.KeyCode == Keys.Enter) { repositoryItemDateEdit2.EndUpdate(); AttendenceGridView.CloseEditor(); AttendenceGridView.UpdateCurrentRow(); if (AttendenceGridView.DataSource != null) { DataRow currentrow = AttendenceGridView.GetDataRow(AttendenceGridView.FocusedRowHandle); DataSet dsEmp = ProjectFunctions.GetDataSet("select EmpCode,EmpName,WorkingHours,isnull(LunchBreak,0)+isnull(TeaBreakTime,0)+isnull(TeaBreak,0) as DeductLunch from EmpMst Where EmpCode= '" + currentrow["EmpCode"].ToString() + "'"); if (dsEmp.Tables[0].Rows.Count > 0) { DutyHours = Convert.ToDecimal(dsEmp.Tables[0].Rows[0]["WorkingHours"]); DeductLunch = Convert.ToDecimal(dsEmp.Tables[0].Rows[0]["DeductLunch"]); } if (AttendenceGridView.FocusedColumn.FieldName == "status_code") { if (currentrow["status_code"].ToString() == "PPH" || currentrow["status_code"].ToString() == "AA" || currentrow["status_code"].ToString() == "HH" || currentrow["status_code"].ToString() == "RR" || currentrow["status_code"].ToString() == "NA") { AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["working_hours"], 0); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["working_hours_f"], 0); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["ot_deducton_time"], 0); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["ot_deducton_time_f"], 0); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["attendance_in_first"], Convert.ToDateTime("1900-01-01 00:00:00").ToString("00:00:00")); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["attendance_out_first"], Convert.ToDateTime("1900-01-01 00:00:00").ToString("00:00:00")); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["attendance_in_last"], Convert.ToDateTime("1900-01-01 00:00:00").ToString("00:00:00")); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["attendance_out_last"], Convert.ToDateTime("1900-01-01 00:00:00").ToString("00:00:00")); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["attendence_in_night"], Convert.ToDateTime("1900-01-01 00:00:00").ToString("00:00:00")); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["attendence_out_night"], Convert.ToDateTime("1900-01-01 00:00:00").ToString("00:00:00")); } if (currentrow["status_code"].ToString() == "PP") { DataSet ds = ProjectFunctions.GetDataSet("select TimeInFirst,TimeOutFirst,TimeInLast,TimeOutLast,WorkingHours from EmpMST where empcode='" + currentrow["Emp?Code"].ToString() + "' "); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["working_hours"], Convert.ToDecimal(ds.Tables[0].Rows[0]["WorkingHours"]) * 60); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["working_hours_f"], Convert.ToDecimal(ds.Tables[0].Rows[0]["WorkingHours"])); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["ot_deducton_time"], 0); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["ot_deducton_time_f"], 0); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["attendance_in_first"], Convert.ToDateTime("2001-01-01 " + ds.Tables[0].Rows[0]["TimeInFirst"].ToString()).ToString("HH:mm:ss")); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["attendance_out_first"], Convert.ToDateTime("2001-01-01 " + ds.Tables[0].Rows[0]["TimeOutFirst"].ToString()).ToString("HH:mm:ss")); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["attendance_in_last"], Convert.ToDateTime("2001-01-01 " + ds.Tables[0].Rows[0]["TimeInLast"].ToString()).ToString("HH:mm:ss")); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["attendance_out_last"], Convert.ToDateTime("2001-01-01 " + ds.Tables[0].Rows[0]["TimeOutLast"].ToString()).ToString("HH:mm:ss")); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["attendence_in_night"], Convert.ToDateTime("1900-01-01 00:00:00").ToString("HH:mm:ss")); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["attendence_out_night"], Convert.ToDateTime("1900-01-01 00:00:00").ToString("HH:mm:ss")); } } if (currentrow["status_code"].ToString() == "PP") { if (AttendenceGridView.FocusedColumn.FieldName == "attendance_in_first" || AttendenceGridView.FocusedColumn.FieldName == "attendance_out_first" || AttendenceGridView.FocusedColumn.FieldName == "attendance_in_last" || AttendenceGridView.FocusedColumn.FieldName == "attendance_out_last" || AttendenceGridView.FocusedColumn.FieldName == "attendence_out_night" || AttendenceGridView.FocusedColumn.FieldName == "attendence_in_night") { double TotalBreakMinutes = 0; double TotalMinutes = 0; DateTime startTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendance_in_first"]).ToString("HH:mm")); DateTime endTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendance_out_last"]).ToString("HH:mm")); TimeSpan spanattendence = endTime.Subtract(startTime); TotalMinutes = spanattendence.TotalMinutes; DateTime lunchstartTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendance_out_first"]).ToString("HH:mm")); DateTime lunchendTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendance_in_last"]).ToString("HH:mm")); TimeSpan spanbreak = lunchendTime.Subtract(lunchstartTime); TotalBreakMinutes = spanbreak.TotalMinutes; double OvertimeMinutes = 0; if (DeductLunch > 0) { TotalMinutes -= TotalBreakMinutes; OvertimeMinutes -= TotalBreakMinutes; } if (spanattendence.TotalMinutes > Convert.ToDouble(DutyHours * 60)) { OvertimeMinutes = TotalMinutes - Convert.ToDouble(DutyHours * 60); } else { OvertimeMinutes = TotalMinutes - Convert.ToDouble(DutyHours * 60); } if (currentrow["attendence_in_night"].ToString().Length > 0 && currentrow["attendence_out_night"].ToString().Length > 0) { DateTime overtimestartTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendence_in_night"]).ToString("HH:mm")); DateTime overtimeendTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendence_out_night"]).ToString("HH:mm")); if (overtimestartTime.Hour + overtimeendTime.Hour > 24) { overtimeendTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendence_out_night"]).ToString("HH:mm")).AddDays(1); } else { overtimeendTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendence_out_night"]).ToString("HH:mm")); } TimeSpan spanovertime = overtimeendTime.Subtract(overtimestartTime); OvertimeMinutes += spanovertime.TotalMinutes; } AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["working_hours"], TotalMinutes); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["working_hours_f"], Convert.ToDecimal(ProjectFunctions.TimeFromMinutes(TotalMinutes))); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["ot_deducton_time"], OvertimeMinutes); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["ot_deducton_time_f"], Convert.ToDecimal(ProjectFunctions.TimeFromMinutes(OvertimeMinutes))); } } if (currentrow["status_code"].ToString() == "RR" || currentrow["status_code"].ToString() == "HH") { double TotalBreakMinutes = 0; double TotalMinutes = 0; double OvertimeMinutes = 0; if (AttendenceGridView.FocusedColumn.FieldName == "attendance_in_first" || AttendenceGridView.FocusedColumn.FieldName == "attendance_out_first" || AttendenceGridView.FocusedColumn.FieldName == "attendance_in_last" || AttendenceGridView.FocusedColumn.FieldName == "attendance_out_last" || AttendenceGridView.FocusedColumn.FieldName == "attendence_out_night" || AttendenceGridView.FocusedColumn.FieldName == "attendence_in_night") { if (currentrow["attendance_in_first"].ToString().Length > 0 || currentrow["attendance_out_first"].ToString().Length > 0) { if (currentrow["attendance_out_last"].ToString().Length > 0 && currentrow["attendance_in_last"].ToString().Length > 0) { DateTime startTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendance_in_first"]).ToString("HH:mm")); DateTime endTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendance_out_last"]).ToString("HH:mm")); TimeSpan spanattendence = endTime.Subtract(startTime); TotalMinutes = spanattendence.TotalMinutes; DateTime lunchstartTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendance_out_first"]).ToString("HH:mm")); DateTime lunchendTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendance_in_last"]).ToString("HH:mm")); TimeSpan spanbreak = lunchendTime.Subtract(lunchstartTime); TotalBreakMinutes = spanbreak.TotalMinutes; if (DeductLunch > 0) { TotalMinutes -= TotalBreakMinutes; } } else { DateTime startTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendance_in_first"]).ToString("HH:mm")); DateTime endTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendance_out_first"]).ToString("HH:mm")); TimeSpan spanattendence = endTime.Subtract(startTime); TotalMinutes = spanattendence.TotalMinutes; } OvertimeMinutes = TotalMinutes; if (currentrow["attendence_in_night"].ToString().Length > 0 && currentrow["attendence_out_night"].ToString().Length > 0) { DateTime overtimestartTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendence_in_night"]).ToString("HH:mm")); DateTime overtimeendTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendence_out_night"]).ToString("HH:mm")); if (overtimestartTime.Hour + overtimeendTime.Hour > 24) { overtimeendTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendence_out_night"]).ToString("HH:mm")).AddDays(1); } else { overtimeendTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendence_out_night"]).ToString("HH:mm")); } TimeSpan spanovertime = overtimeendTime.Subtract(overtimestartTime); OvertimeMinutes += spanovertime.TotalMinutes; } } AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["working_hours"], 0); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["working_hours_f"], Convert.ToDecimal("0")); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["ot_deducton_time"], OvertimeMinutes); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["ot_deducton_time_f"], Convert.ToDecimal(ProjectFunctions.TimeFromMinutes(OvertimeMinutes))); } } if (currentrow["status_code"].ToString() == "PA") { if (AttendenceGridView.FocusedColumn.FieldName == "attendance_in_first" || AttendenceGridView.FocusedColumn.FieldName == "attendance_out_first") { DateTime startTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendance_in_first"]).ToString("HH:mm")); DateTime endTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendance_out_first"]).ToString("HH:mm")); TimeSpan spanattendence = endTime.Subtract(startTime); double TotalMinutes = spanattendence.TotalMinutes; double TotalBreakMinutes = 0; double OvertimeMinutes = 0; if (DeductLunch > 0) { TotalMinutes -= TotalBreakMinutes; OvertimeMinutes -= TotalBreakMinutes; } if (spanattendence.TotalMinutes > Convert.ToDouble(DutyHours * 60)) { OvertimeMinutes = TotalMinutes - Convert.ToDouble(DutyHours * 60); } else { OvertimeMinutes = TotalMinutes - Convert.ToDouble(DutyHours * 60); } if (currentrow["attendence_in_night"].ToString().Length > 0 && currentrow["attendence_out_night"].ToString().Length > 0) { DateTime overtimestartTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendence_in_night"]).ToString("HH:mm")); DateTime overtimeendTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendence_out_night"]).ToString("HH:mm")); if (overtimestartTime.Hour + overtimeendTime.Hour > 24) { overtimeendTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendence_out_night"]).ToString("HH:mm")).AddDays(1); } else { overtimeendTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendence_out_night"]).ToString("HH:mm")); } TimeSpan spanovertime = overtimeendTime.Subtract(overtimestartTime); OvertimeMinutes += spanovertime.TotalMinutes; TotalMinutes = TotalMinutes - TotalBreakMinutes + OvertimeMinutes; } AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["working_hours"], TotalMinutes); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["working_hours_f"], Convert.ToDecimal(ProjectFunctions.TimeFromMinutes(TotalMinutes))); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["ot_deducton_time"], OvertimeMinutes); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["ot_deducton_time_f"], Convert.ToDecimal(ProjectFunctions.TimeFromMinutes(OvertimeMinutes))); } } if (currentrow["status_code"].ToString() == "HA") { if (AttendenceGridView.FocusedColumn.FieldName == "attendance_in_last" || AttendenceGridView.FocusedColumn.FieldName == "attendance_out_last" || AttendenceGridView.FocusedColumn.FieldName == "attendence_out_night" || AttendenceGridView.FocusedColumn.FieldName == "attendence_in_night") { double TotalBreakMinutes = 0; double TotalMinutes = 0; if (currentrow["attendance_in_last"].ToString().Length > 0 || currentrow["attendance_out_last"].ToString().Length > 0) { DateTime startTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendance_in_last"]).ToString("HH:mm")); DateTime endTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendance_out_last"]).ToString("HH:mm")); TimeSpan spanattendence = endTime.Subtract(startTime); TotalMinutes = spanattendence.TotalMinutes; double OvertimeMinutes = 0; if (DeductLunch > 0) { //TotalMinutes = TotalMinutes - TotalBreakMinutes; //OvertimeMinutes = OvertimeMinutes - TotalBreakMinutes; } if (spanattendence.TotalMinutes > Convert.ToDouble(DutyHours * 60)) { OvertimeMinutes = TotalMinutes - Convert.ToDouble(DutyHours * 60); } else { OvertimeMinutes = TotalMinutes - Convert.ToDouble(DutyHours * 60); } if (currentrow["attendence_in_night"].ToString().Length > 0 && currentrow["attendence_out_night"].ToString().Length > 0) { DateTime overtimestartTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendence_in_night"]).ToString("HH:mm")); DateTime overtimeendTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendence_out_night"]).ToString("HH:mm")); if (overtimestartTime.Hour + overtimeendTime.Hour > 24) { overtimeendTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendence_out_night"]).ToString("HH:mm")).AddDays(1); } else { overtimeendTime = Convert.ToDateTime("2001-01-01 " + Convert.ToDateTime(currentrow["attendence_out_night"]).ToString("HH:mm")); } TimeSpan spanovertime = overtimeendTime.Subtract(overtimestartTime); OvertimeMinutes += spanovertime.TotalMinutes; } AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["working_hours"], TotalMinutes); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["working_hours_f"], Convert.ToDecimal(ProjectFunctions.TimeFromMinutes(TotalMinutes))); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["ot_deducton_time"], OvertimeMinutes); AttendenceGridView.SetRowCellValue(AttendenceGridView.FocusedRowHandle, AttendenceGridView.Columns["ot_deducton_time_f"], Convert.ToDecimal(ProjectFunctions.TimeFromMinutes(OvertimeMinutes))); } } } } } } catch (Exception ex) { ProjectFunctions.SpeakError(ex.Message); } }
private void BtnSave_Click(object sender, EventArgs e) { using (var sqlcon = new SqlConnection(ProjectFunctions.GetConnection())) { var MaxRow = ((AttendenceGrid.FocusedView as GridView).RowCount); sqlcon.Open(); var sqlcom = sqlcon.CreateCommand(); var transaction = sqlcon.BeginTransaction("SaveTransaction"); sqlcom.Connection = sqlcon; sqlcom.Transaction = transaction; sqlcom.CommandType = CommandType.StoredProcedure; try { sqlcom.CommandType = CommandType.Text; sqlcom.CommandText = "Delete from EmployeeAttendance Where attendance_date='" + Convert.ToDateTime(DtStartDate.Text).ToString("yyyy-MM-dd") + "'"; sqlcom.ExecuteNonQuery(); sqlcom.Parameters.Clear(); for (var i = 0; i < MaxRow; i++) { sqlcom.CommandType = CommandType.Text; var currentrow = AttendenceGridView.GetDataRow(i); if (currentrow["status_code"].ToString().ToUpper() != "NA") { sqlcom.CommandText = " Insert into EmployeeAttendance " + " (entry_date, attendance_date, employee_code, status_id, attendance_in_first, attendance_out_first, attendance_in_last, attendance_out_last, " + "working_hours, shift_id, ot_deducton_time, attendence_in_night, attendence_out_night)" + " values(@entry_date, @attendance_date, @employee_code, @status_id, @attendance_in_first, @attendance_out_first, @attendance_in_last, @attendance_out_last," + "@working_hours,@shift_id, @ot_deducton_time, @attendence_in_night, " + "@attendence_out_night)"; sqlcom.Parameters.Add("@entry_date", SqlDbType.NVarChar).Value = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); sqlcom.Parameters.Add("@attendance_date", SqlDbType.NVarChar).Value = Convert.ToDateTime(DtStartDate.Text).ToString("yyyy-MM-dd"); sqlcom.Parameters.Add("@employee_code", SqlDbType.NVarChar).Value = currentrow["EmpCode"].ToString();; sqlcom.Parameters.Add("@status_id", SqlDbType.NVarChar).Value = ProjectFunctions.GetDataSet("select status_id from AttendanceStatus where status_code='" + currentrow["status_code"] + "'").Tables[0].Rows[0][0].ToString(); if (currentrow["attendance_in_first"].ToString().Trim() == "" || currentrow["attendance_in_first"].ToString().Trim() == "00:00:00") { sqlcom.Parameters.Add("@attendance_in_first", SqlDbType.NVarChar).Value = System.Data.SqlTypes.SqlDateTime.Null; } else { sqlcom.Parameters.Add("@attendance_in_first", SqlDbType.NVarChar).Value = Convert.ToDateTime(currentrow["attendance_in_first"].ToString()).ToString("HH:mm:ss"); } if (currentrow["attendance_out_first"].ToString().Trim() == "" || currentrow["attendance_out_first"].ToString().Trim() == "00:00:00") { sqlcom.Parameters.Add("@attendance_out_first", SqlDbType.NVarChar).Value = System.Data.SqlTypes.SqlDateTime.Null; } else { sqlcom.Parameters.Add("@attendance_out_first", SqlDbType.NVarChar).Value = Convert.ToDateTime(currentrow["attendance_out_first"].ToString()).ToString("HH:mm:ss"); } if (currentrow["attendance_in_last"].ToString().Trim() == "" || currentrow["attendance_in_last"].ToString().Trim() == "00:00:00") { sqlcom.Parameters.Add("@attendance_in_last", SqlDbType.NVarChar).Value = System.Data.SqlTypes.SqlDateTime.Null; } else { sqlcom.Parameters.Add("@attendance_in_last", SqlDbType.NVarChar).Value = Convert.ToDateTime(currentrow["attendance_in_last"].ToString()).ToString("HH:mm:ss"); } if (currentrow["attendance_out_last"].ToString().Trim() == "" || currentrow["attendance_out_last"].ToString().Trim() == "00:00:00") { sqlcom.Parameters.Add("@attendance_out_last", SqlDbType.NVarChar).Value = System.Data.SqlTypes.SqlDateTime.Null; } else { sqlcom.Parameters.Add("@attendance_out_last", SqlDbType.NVarChar).Value = Convert.ToDateTime(currentrow["attendance_out_last"].ToString()).ToString("HH:mm:ss"); } sqlcom.Parameters.Add("@working_hours", SqlDbType.NVarChar).Value = Convert.ToInt32(currentrow["working_hours"]); sqlcom.Parameters.Add("@shift_id", SqlDbType.NVarChar).Value = "1"; sqlcom.Parameters.Add("@ot_deducton_time", SqlDbType.NVarChar).Value = Convert.ToInt32(currentrow["ot_deducton_time"]); if (currentrow["attendence_in_night"].ToString().Trim() == "" || currentrow["attendence_in_night"].ToString().Trim() == "00:00:00") { sqlcom.Parameters.Add("@attendence_in_night", SqlDbType.NVarChar).Value = System.Data.SqlTypes.SqlDateTime.Null; } else { sqlcom.Parameters.Add("@attendence_in_night", SqlDbType.NVarChar).Value = Convert.ToDateTime(currentrow["attendence_in_night"].ToString()).ToString("HH:mm:ss"); } if (currentrow["attendence_out_night"].ToString().Trim() == "" || currentrow["attendence_out_night"].ToString().Trim() == "00:00:00") { sqlcom.Parameters.Add("@attendence_out_night", SqlDbType.NVarChar).Value = System.Data.SqlTypes.SqlDateTime.Null; } else { sqlcom.Parameters.Add("@attendence_out_night", SqlDbType.NVarChar).Value = Convert.ToDateTime(currentrow["attendence_out_night"].ToString()).ToString("HH:mm:ss"); } sqlcom.ExecuteNonQuery(); sqlcom.Parameters.Clear(); } } transaction.Commit(); sqlcon.Close(); ProjectFunctions.SpeakError("Attendence Saved"); } catch (Exception ex) { ProjectFunctions.SpeakError("Something Wrong. \n I am going to Roll Back." + ex.Message); try { transaction.Rollback(); } catch (Exception ex2) { ProjectFunctions.SpeakError("Something Wrong. \n Roll Back Failed." + ex2.Message); } } } }