protected void Recalculate_Click(object sender, EventArgs e) { ArrayList list = new ArrayList(); foreach (DataListItem item in Repeater.Items) { CheckBox c = (CheckBox)item.FindControl("DeleteItem"); HtmlInputHidden h = (HtmlInputHidden)item.FindControl("AttendanceRecordID"); if (c.Checked) { EAttendanceRecord obj = new EAttendanceRecord(); obj.AttendanceRecordID = Int32.Parse(h.Value); list.Add(obj); } } HROne.Attendance.AttendanceProcess attendanceProcess = new HROne.Attendance.AttendanceProcess(dbConn); WebUtils.StartFunction(Session, FUNCTION_CODE, CurrentEmpID); foreach (EAttendanceRecord obj in list) { EAttendanceRecord.db.select(dbConn, obj); attendanceProcess.GetAttendanceTimeResult(obj); EAttendanceRecord.db.update(dbConn, obj); } WebUtils.EndFunction(dbConn); view = loadData(info, db, Repeater); }
protected void Page_Load(object sender, EventArgs e) { if (!WebUtils.CheckAccess(Response, Session, FUNCTION_CODE, WebUtils.AccessLevel.ReadWrite)) { return; } //string strEmpIDList = DecryptedRequest["EmpID"]; ArrayList list = (ArrayList)Session["GenerateAttendance_EmpList"]; int intTotal; if (int.TryParse(DecryptedRequest["Total"], out intTotal) && list != null) { //string[] strEmpIDListArray; //int intProgress = 0; //strEmpIDListArray = strEmpIDList.Split(new char[] { '_' }); //intProgress = 0; DateTime dtStartTime = AppUtils.ServerDateTime(); DateTime dtPeriodFrom = new DateTime(long.Parse(DecryptedRequest["PeriodFrom"])); DateTime dtPeriodTo = new DateTime(long.Parse(DecryptedRequest["PeriodTo"])); bool hasTimeCardRecord = true; if (DecryptedRequest["NoTimeCardRecord"] != null) { if (DecryptedRequest["NoTimeCardRecord"].ToString().Equals("Y")) { hasTimeCardRecord = false; } } HROne.Attendance.AttendanceProcess attendanceProcess = new HROne.Attendance.AttendanceProcess(dbConn); while (AppUtils.ServerDateTime().Subtract(dtStartTime).Seconds < 10 && list.Count > 0) { EEmpPersonalInfo empInfo = (EEmpPersonalInfo)list[0]; DBFilter filter = new DBFilter(); filter.add(new Match("EmpID", empInfo.EmpID)); filter.add(WebUtils.AddRankFilter(new Page().Session, "EmpID", true)); if (EEmpPersonalInfo.db.count(dbConn, filter) > 0) { WebUtils.StartFunction(Session, FUNCTION_CODE, empInfo.EmpID, true); attendanceProcess.GenerateAttendanceData(empInfo.EmpID, dtPeriodFrom, dtPeriodTo, hasTimeCardRecord); WebUtils.EndFunction(dbConn); } list.Remove(empInfo); Session["GenerateAttendance_EmpList"] = list; } lblProgress.Text = (intTotal - list.Count).ToString() + " of " + intTotal.ToString(); if (list.Count == 0) { Session.Remove("GenerateAttendance_EmpList"); lblProgressMessage.Text = "Attendance Record Generation is completed"; } else { //string strRemainder = string.Join("_", strEmpIDListArray, intProgress, strEmpIDListArray.GetLength(0) - intProgress); //string strRedirectScript = string.Empty; //strRedirectScript += @"<script language='javascript'>" + "\n"; //strRedirectScript += @"function Redirect()" + "\n"; //strRedirectScript += @"{" + "\n"; //strRedirectScript += "window.location = \"" + HROne.Common.WebUtility.URLwithEncryptQueryString(Session, "Attendance_GenerateRecord_Process.aspx?" // + "PeriodFrom=" + DecryptedRequest["PeriodFrom"] // + "&PeriodTo=" + DecryptedRequest["PeriodTo"] // + "&Total=" + intTotal // + "&NoTimeCardRecord=" + DecryptedRequest["NoTimeCardRecord"]) // + "\";"; //strRedirectScript += @"}" + "\n"; //strRedirectScript += @"setTimeout('Redirect()',500);" + "\n"; //strRedirectScript += @"</script>" + "\n"; //Response.Write(strRedirectScript); string url = "Attendance_GenerateRecord_Process.aspx?" + "PeriodFrom=" + DecryptedRequest["PeriodFrom"] + "&PeriodTo=" + DecryptedRequest["PeriodTo"] + "&Total=" + intTotal + "&NoTimeCardRecord=" + DecryptedRequest["NoTimeCardRecord"]; WebUtils.RegisterRedirectJavaScript(Page, url, 500); } } HROne.Common.WebUtility.WebControlsLocalization(this, this.Controls); }