protected void Delete_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("PublicHolidayID"); if (c.Checked) { EPublicHoliday obj = new EPublicHoliday(); obj.PublicHolidayID = Int32.Parse(h.Value); list.Add(obj); } } foreach (EPublicHoliday obj in list) { if (EPublicHoliday.db.select(dbConn, obj)) { //WebUtils.StartFunction(Session, FUNCTION_CODE); db.delete(dbConn, obj); //WebUtils.EndFunction(dbConn); } } view = loadData(info, db, Repeater); //Response.Redirect(Request.Url.LocalPath); }
protected void Repeater_ItemDataBound(object sender, DataListItemEventArgs e) { HROne.Common.WebUtility.WebControlsLocalization(Session, e.Item.Controls); e.Item.FindControl("DeleteItem").Visible = IsAllowEdit; if (e.Item.ItemIndex == Repeater.EditItemIndex) { ebinding = new Binding(dbConn, db); ebinding.add((HtmlInputHidden)e.Item.FindControl("PublicHolidayID")); ebinding.add(new TextBoxBinder(db, ((WebDatePicker)e.Item.FindControl("PublicHolidayDate")).TextBox, "PublicHolidayDate")); ebinding.add((TextBox)e.Item.FindControl("PublicHolidayDesc")); ebinding.init(Request, Session); EPublicHoliday obj = new EPublicHoliday(); db.toObject(((DataRowView)e.Item.DataItem).Row, obj); Hashtable values = new Hashtable(); db.populate(obj, values); ebinding.toControl(values); } else { e.Item.FindControl("Edit").Visible = IsAllowEdit; HtmlInputHidden h = (HtmlInputHidden)e.Item.FindControl("PublicHolidayID"); h.Value = ((DataRowView)e.Item.DataItem)["PublicHolidayID"].ToString(); } }
protected void Add_Click(object sender, EventArgs e) { Repeater.EditItemIndex = -1; EPublicHoliday c = new EPublicHoliday(); Hashtable values = new Hashtable(); binding.toValues(values); PageErrors errors = PageErrors.getErrors(db, Page.Master); errors.clear(); db.validate(errors, values); if (!errors.isEmpty()) { return; } db.parse(values, c); if (!AppUtils.checkDuplicate(dbConn, db, c, errors, "PublicHolidayDate")) { return; } db.insert(dbConn, c); PublicHolidayDate.Value = string.Empty; PublicHolidayDesc.Text = string.Empty; view = loadData(info, db, Repeater); }
protected void RadScheduler1_TimeSlotCreated(object sender, TimeSlotCreatedEventArgs e) { string holidayDescription = string.Empty; if (DateTime.Compare(e.TimeSlot.Start.Date, DateTime.Now.Date) == 0) { e.TimeSlot.CssClass = "RadSchedulerToday"; } else if (e.TimeSlot.Start.Date.DayOfWeek == DayOfWeek.Sunday) { e.TimeSlot.CssClass = "RadSchedulerHoliday"; } else if (EPublicHoliday.IsHoliday(dbConn, e.TimeSlot.Start.Date)) { e.TimeSlot.CssClass = "RadSchedulerHoliday"; //Label holidayLabel = new Label(); //holidayLabel.Text = holidayDescription; //holidayLabel.ForeColor = System.Drawing.Color.Red; ////holidayLabel.CssClass = "FloatRight"; ////e.TimeSlot.Control.Controls.AddAt(1, holidayLabel); //e.TimeSlot.Control.Controls[0].Controls.AddAt(1, holidayLabel); } else if (EStatutoryHoliday.IsHoliday(dbConn, e.TimeSlot.Start.Date)) { e.TimeSlot.CssClass = "RadSchedulerHoliday"; //Label holidayLabel = new Label(); //holidayLabel.Text = holidayDescription; //holidayLabel.ForeColor = System.Drawing.Color.Red; ////holidayLabel.CssClass = "FloatRight"; ////e.TimeSlot.Control.Controls.AddAt(1, holidayLabel); //e.TimeSlot.Control.Controls[0].Controls.AddAt(1, holidayLabel); } }
protected void Repeater_ItemCommand(object source, DataListCommandEventArgs e) { Button b = (Button)e.CommandSource; if (b.ID.Equals("Edit")) { Repeater.EditItemIndex = e.Item.ItemIndex; view = loadData(info, db, Repeater); WebUtils.SetEnabledControlSection(AddPanel, false); } else if (b.ID.Equals("Cancel")) { Repeater.EditItemIndex = -1; view = loadData(info, db, Repeater); WebUtils.SetEnabledControlSection(AddPanel, true); } else if (b.ID.Equals("Save")) { ebinding = new Binding(dbConn, db); ebinding.add((HtmlInputHidden)e.Item.FindControl("PublicHolidayID")); ebinding.add(new TextBoxBinder(db, ((WebDatePicker)e.Item.FindControl("PublicHolidayDate")).TextBox, "PublicHolidayDate")); ebinding.add((TextBox)e.Item.FindControl("PublicHolidayDesc")); ebinding.init(Request, Session); EPublicHoliday obj = new EPublicHoliday(); Hashtable values = new Hashtable(); PageErrors errors = PageErrors.getErrors(db, Page.Master); errors.clear(); ebinding.toValues(values); db.validate(errors, values); if (!errors.isEmpty()) { return; } db.parse(values, obj); if (!AppUtils.checkDuplicate(dbConn, db, obj, errors, "PublicHolidayDate")) { return; } //WebUtils.StartFunction(Session, FUNCTION_CODE); db.update(dbConn, obj); //WebUtils.EndFunction(dbConn); Repeater.EditItemIndex = -1; view = loadData(info, db, Repeater); WebUtils.SetEnabledControlSection(AddPanel, true); } }
protected void RadScheduler1_TimeSlotCreated(object sender, TimeSlotCreatedEventArgs e) { if (DateTime.Compare(e.TimeSlot.Start.Date, DateTime.Now.Date) == 0) { e.TimeSlot.CssClass = "RadSchedulerToday"; } else if (e.TimeSlot.Start.Date.DayOfWeek == DayOfWeek.Sunday) { e.TimeSlot.CssClass = "RadSchedulerHoliday"; } else if (EPublicHoliday.IsHoliday(dbConn, e.TimeSlot.Start.Date)) { e.TimeSlot.CssClass = "RadSchedulerHoliday"; } else if (EStatutoryHoliday.IsHoliday(dbConn, e.TimeSlot.Start.Date)) { e.TimeSlot.CssClass = "RadSchedulerHoliday"; } }
protected void btnUpdate_Click(object sender, EventArgs e) { PageErrors errors = PageErrors.getErrors(db, Page.Master); errors.clear(); if (HolidayTableFile.HasFile) { string strTmpFolder = HROne.Common.Folder.GetOrCreateSessionTempFolder(Session.SessionID).FullName;; //Environment.GetFolderPath(Environment.SpecialFolder.InternetCache); string strTmpFile = System.IO.Path.Combine(strTmpFolder, AppUtils.ServerDateTime().ToString("~yyyyMMddHHmmss_") + HolidayTableFile.FileName); HolidayTableFile.SaveAs(strTmpFile); try { ArrayList pendingStatHolList = new ArrayList(); DataTable rawDataTable = HROne.Import.ExcelImport.parse(strTmpFile, string.Empty).Tables[TABLE_NAME]; if (rawDataTable.Columns.Contains("Date") && rawDataTable.Columns.Contains("Description")) { foreach (DataRow row in rawDataTable.Rows) { EPublicHoliday statHol = new EPublicHoliday(); statHol.PublicHolidayDate = WebUtils.toDateTimeObject(row["Date"]); if (statHol.PublicHolidayDate.Year.ToString().Trim().Equals(YearSelect.SelectedValue.Trim())) { if (!row.IsNull("Description")) { statHol.PublicHolidayDesc = (string)row["Description"]; } pendingStatHolList.Add(statHol); } } } else { errors.addError("Invalid File"); } if (pendingStatHolList.Count > 0) { //WebUtils.StartFunction(Session, FUNCTION_CODE); DBFilter filter = sbinding.createFilter(); //filter.add("PublicHolidayDate", true); ArrayList holidayList = EPublicHoliday.db.select(dbConn, filter); foreach (EPublicHoliday statHol in holidayList) { EPublicHoliday updatedHol = null; foreach (EPublicHoliday pendingStatHol in pendingStatHolList) { if (pendingStatHol.PublicHolidayDate.Equals(statHol.PublicHolidayDate)) { updatedHol = pendingStatHol; if (!statHol.PublicHolidayDesc.Equals(pendingStatHol.PublicHolidayDesc)) { statHol.PublicHolidayDesc = pendingStatHol.PublicHolidayDesc; EPublicHoliday.db.update(dbConn, statHol); } break; } } if (updatedHol != null) { pendingStatHolList.Remove(updatedHol); } else { EPublicHoliday.db.delete(dbConn, statHol); } } foreach (EPublicHoliday insertStatHol in pendingStatHolList) { EPublicHoliday.db.insert(dbConn, insertStatHol); } //WebUtils.EndFunction(dbConn); } else { errors.addError("No record is imported"); } } catch (Exception) { errors.addError("Invalid file"); } System.IO.File.Delete(strTmpFile); } else { errors.addError("Invalid file"); } Repeater.EditItemIndex = -1; view = loadData(info, db, Repeater); if (errors.isEmpty()) { errors.addError("Import successful"); } }
protected RosterTableEventList GenerateEventList(ICollection DBObjectList) { RosterTableEventList tmpEventList = new RosterTableEventList(); if (DBObjectList != null) { foreach (DBObject dbObject in DBObjectList) { if (dbObject is ERosterTable) { ERosterTable rosterTable = (ERosterTable)dbObject; ERosterCode rosterCode = new ERosterCode(); rosterCode.RosterCodeID = rosterTable.RosterCodeID; bool hasRecord = ERosterCode.db.select(dbConn, rosterCode); if (hasRecord || rosterCode.RosterCodeID == 0) { RosterTableEvent eventDetail = new RosterTableEvent(); eventDetail.Id = RosterTableEvent.ROSTER_TABLE_ID_PREFIX + "_" + rosterTable.RosterTableID; // Override Start/End time only when the roster code exists if (rosterTable.RosterTableOverrideInTime.Ticks.Equals(0) || !hasRecord) { eventDetail.StartTime = rosterTable.RosterTableDate.Add(rosterCode.RosterCodeInTime.TimeOfDay); } else { eventDetail.StartTime = rosterTable.RosterTableDate.Add(rosterTable.RosterTableOverrideInTime.TimeOfDay); } if (rosterTable.RosterTableOverrideOutTime.Ticks.Equals(0) || !hasRecord) { eventDetail.EndTime = rosterTable.RosterTableDate.Add(rosterCode.RosterCodeOutTime.TimeOfDay); } else { eventDetail.EndTime = rosterTable.RosterTableDate.Add(rosterTable.RosterTableOverrideOutTime.TimeOfDay); } if (eventDetail.StartTime >= eventDetail.EndTime) { eventDetail.EndTime = eventDetail.EndTime.AddDays(1); if (!DisplayOvernightToNextDay) { eventDetail.EndTime = eventDetail.EndTime.Date; } } EEmpPersonalInfo empInfo = new EEmpPersonalInfo(); empInfo.EmpID = rosterTable.EmpID; EEmpPersonalInfo.db.select(dbConn, empInfo); eventDetail.Subject = (hasRecord ? rosterCode.RosterCode : "(unspecified)") + " - " + empInfo.EmpEngDisplayName; eventDetail.ToolTip = eventDetail.Subject; eventDetail.Label = rosterCode.RosterClientSiteID; eventDetail.RecurrenceInfo = string.Empty; eventDetail.OwnerId = rosterCode.RosterClientSiteID; tmpEventList.Add(eventDetail); } } else if (dbObject is ELeaveApplication) { ELeaveApplication leaveApplication = (ELeaveApplication)dbObject; ELeaveCode leaveCode = new ELeaveCode(); leaveCode.LeaveCodeID = leaveApplication.LeaveCodeID; bool hasRecord = ELeaveCode.db.select(dbConn, leaveCode); if (hasRecord) { RosterTableEvent eventDetail = new RosterTableEvent(); eventDetail.Id = RosterTableEvent.LEAVEAPP_ID_PREFIX + "_" + leaveApplication.LeaveAppID; if (leaveApplication.LeaveAppUnit.Equals(ELeaveApplication.LEAVEUNIT_DAYS)) { eventDetail.StartTime = leaveApplication.LeaveAppDateFrom; eventDetail.EndTime = leaveApplication.LeaveAppDateTo.AddDays(1); } else { eventDetail.StartTime = leaveApplication.LeaveAppDateFrom; eventDetail.EndTime = leaveApplication.LeaveAppDateFrom; if (!leaveApplication.LeaveAppTimeFrom.Ticks.Equals(0)) { eventDetail.StartTime = eventDetail.StartTime.Add(leaveApplication.LeaveAppTimeFrom.TimeOfDay); } if (!leaveApplication.LeaveAppTimeTo.Ticks.Equals(0)) { eventDetail.EndTime = eventDetail.EndTime.Add(leaveApplication.LeaveAppTimeTo.TimeOfDay); } if (leaveApplication.LeaveAppUnit.Equals(ELeaveApplication.LEAVEUNIT_AM)) { if (eventDetail.StartTime.Equals(leaveApplication.LeaveAppDateFrom)) { eventDetail.StartTime = eventDetail.StartTime.Add(new TimeSpan(0, 0, 0)); } if (eventDetail.EndTime.Equals(leaveApplication.LeaveAppDateFrom)) { eventDetail.EndTime = eventDetail.EndTime.Add(new TimeSpan(13, 0, 0)); } } if (leaveApplication.LeaveAppUnit.Equals(ELeaveApplication.LEAVEUNIT_PM)) { if (eventDetail.StartTime.Equals(leaveApplication.LeaveAppDateFrom)) { eventDetail.StartTime = eventDetail.StartTime.Add(new TimeSpan(13, 0, 0)); } if (eventDetail.EndTime.Equals(leaveApplication.LeaveAppDateFrom)) { eventDetail.EndTime = eventDetail.EndTime.AddDays(1); } } else { if (eventDetail.StartTime.Equals(leaveApplication.LeaveAppDateFrom)) { eventDetail.StartTime = eventDetail.StartTime.Add(new TimeSpan(0, 0, 0)); } if (eventDetail.EndTime.Equals(leaveApplication.LeaveAppDateFrom)) { eventDetail.EndTime = eventDetail.EndTime.AddDays(1); } } } EEmpPersonalInfo empInfo = new EEmpPersonalInfo(); empInfo.EmpID = leaveApplication.EmpID; EEmpPersonalInfo.db.select(dbConn, empInfo); //eventDetail.Subject = (hasRecord ? leaveCode.LeaveCode : "(unspecified)") + " - " + empInfo.EmpEngDisplayName; if (leaveApplication.LeaveAppDays < 0 || leaveApplication.LeaveAppHours < 0) { eventDetail.IsCancel = true; } string LeaveUnitDetail = string.Empty; if (leaveApplication.LeaveAppUnit.Equals("D")) { LeaveUnitDetail = leaveApplication.LeaveAppDays + " " + "Day" + (leaveApplication.LeaveAppDays > 1 ? "s" : string.Empty); } else if (leaveApplication.LeaveAppUnit.Equals("H")) { if (leaveApplication.LeaveAppTimeFrom.Ticks.Equals(0) || leaveApplication.LeaveAppTimeTo.Ticks.Equals(0)) { LeaveUnitDetail = leaveApplication.LeaveAppHours + " " + "Hour" + (leaveApplication.LeaveAppHours > 1 ? "s" : string.Empty); } else { LeaveUnitDetail = leaveApplication.LeaveAppTimeFrom.ToString("HH:mm") + "-" + leaveApplication.LeaveAppTimeTo.ToString("HH:mm"); } } else if (leaveApplication.LeaveAppUnit.Equals("A")) { if (leaveApplication.LeaveAppDays > 0) { LeaveUnitDetail = "A.M."; } else { LeaveUnitDetail = "-A.M."; } } else if (leaveApplication.LeaveAppUnit.Equals("P")) { if (leaveApplication.LeaveAppDays > 0) { LeaveUnitDetail = "P.M."; } else { LeaveUnitDetail = "-P.M."; } } eventDetail.Subject = (hasRecord ? leaveCode.LeaveCode : "(unspecified)") + (string.IsNullOrEmpty(LeaveUnitDetail) ? string.Empty : ("(" + LeaveUnitDetail + ")")) + " - " + empInfo.EmpEngDisplayName; eventDetail.ToolTip = eventDetail.Subject; //eventDetail.Label = rosterCode.RosterClientSiteID; eventDetail.RecurrenceInfo = string.Empty; //eventDetail.OwnerId = rosterCode.RosterClientSiteID; tmpEventList.Add(eventDetail); } } else if (dbObject is EPublicHoliday) { EPublicHoliday holiday = (EPublicHoliday)dbObject; RosterTableEvent eventDetail = new RosterTableEvent(); eventDetail.Id = RosterTableEvent.PUBLICHOLIDAY_PREFIX + "_" + holiday.PublicHolidayID; eventDetail.StartTime = holiday.PublicHolidayDate; eventDetail.EndTime = holiday.PublicHolidayDate.AddDays(1); eventDetail.Subject = holiday.PublicHolidayDesc; eventDetail.ToolTip = eventDetail.Subject; //eventDetail.Label = rosterCode.RosterClientSiteID; eventDetail.RecurrenceInfo = string.Empty; //eventDetail.OwnerId = rosterCode.RosterClientSiteID; tmpEventList.Add(eventDetail); } else if (dbObject is EStatutoryHoliday) { EStatutoryHoliday holiday = (EStatutoryHoliday)dbObject; RosterTableEvent eventDetail = new RosterTableEvent(); eventDetail.Id = RosterTableEvent.STATUTORYHOLIDAY_PREFIX + "_" + holiday.StatutoryHolidayID; eventDetail.StartTime = holiday.StatutoryHolidayDate; eventDetail.EndTime = holiday.StatutoryHolidayDate.AddDays(1); eventDetail.Subject = holiday.StatutoryHolidayDesc; eventDetail.ToolTip = eventDetail.Subject; //eventDetail.Label = rosterCode.RosterClientSiteID; eventDetail.RecurrenceInfo = string.Empty; //eventDetail.OwnerId = rosterCode.RosterClientSiteID; tmpEventList.Add(eventDetail); } } } return(tmpEventList); }
public override CrystalDecisions.CrystalReports.Engine.ReportDocument GenerateReport() { if (EmpIDList.Count > 0) { DataSet ds = new DataSet(); ds.ReadXmlSchema(schemaXSDPath); DataTable empInfoTable = ds.Tables["EmpInfo"]; DataTable attendanceRecordTable = ds.Tables["AttendanceRecord"]; DateTime periodFrom = new DateTime(year, month, 1); DateTime periodTo = new DateTime(year, month, DateTime.DaysInMonth(year, month)); foreach (int EmpID in EmpIDList) { EEmpPersonalInfo empInfo = new EEmpPersonalInfo(); empInfo.EmpID = EmpID; if (EEmpPersonalInfo.db.select(dbConn, empInfo)) { DataRow empRow = empInfoTable.NewRow(); empRow["EmpID"] = EmpID; empRow["EmpNo"] = empInfo.EmpNo; empRow["EmpName"] = empInfo.EmpEngFullName; empRow["PeriodFrom"] = periodFrom; empRow["PeriodTo"] = periodTo; EEmpPositionInfo empPos = AppUtils.GetLastPositionInfo(dbConn, periodTo, EmpID); if (empPos != null) { EAuthorizationWorkFlow workFlow = new EAuthorizationWorkFlow(); workFlow.AuthorizationWorkFlowID = empPos.AuthorizationWorkFlowIDLeaveApp; if (EAuthorizationWorkFlow.db.select(dbConn, workFlow)) { empRow["Section"] = workFlow.AuthorizationWorkFlowDescription; } EWorkHourPattern workHourPattern = new EWorkHourPattern(); workHourPattern.WorkHourPatternID = empPos.WorkHourPatternID; if (EWorkHourPattern.db.select(dbConn, workHourPattern)) { empRow["RosterGroup"] = workHourPattern.WorkHourPatternCode + " - " + workHourPattern.WorkHourPatternDesc; } } empInfoTable.Rows.Add(empRow); } DBFilter attendanceRecordFilter = new DBFilter(); attendanceRecordFilter.add(new Match("EmpID", EmpID)); attendanceRecordFilter.add(new Match("AttendanceRecordDate", ">=", periodFrom)); attendanceRecordFilter.add(new Match("AttendanceRecordDate", "<=", periodTo)); attendanceRecordFilter.add("AttendanceRecordDate", true); ArrayList attendanceRecordList = EAttendanceRecord.db.select(dbConn, attendanceRecordFilter); foreach (EAttendanceRecord attendanceRecord in attendanceRecordList) { DataRow attendanceRecordRow = attendanceRecordTable.NewRow(); attendanceRecordRow["AttendanceRecordID"] = attendanceRecord.AttendanceRecordID; attendanceRecordRow["EmpID"] = attendanceRecord.EmpID; attendanceRecordRow["AttendanceRecordDate"] = attendanceRecord.AttendanceRecordDate; if (attendanceRecord.AttendanceRecordWorkStart.Ticks > 0) { attendanceRecordRow["AttendanceRecordWorkStart"] = attendanceRecord.AttendanceRecordWorkStart; } if (attendanceRecord.AttendanceRecordWorkEnd.Ticks > 0) { attendanceRecordRow["AttendanceRecordWorkEnd"] = attendanceRecord.AttendanceRecordWorkEnd; } attendanceRecordRow["AttendanceRecordLateMins"] = attendanceRecord.AttendanceRecordActualLateMins; attendanceRecordRow["AttendanceRecordEarlyLeaveMins"] = attendanceRecord.AttendanceRecordActualEarlyLeaveMins; if (attendanceRecord.AttendanceRecordIsAbsent && string.IsNullOrEmpty(attendanceRecord.AttendanceRecordRemark)) { attendanceRecordRow["AttendanceRecordRemark"] = "Absent"; } else { attendanceRecordRow["AttendanceRecordRemark"] = attendanceRecord.AttendanceRecordRemark; } attendanceRecordRow["IsPublicHoliday"] = EPublicHoliday.IsHoliday(dbConn, attendanceRecord.AttendanceRecordDate) || attendanceRecord.AttendanceRecordDate.DayOfWeek == DayOfWeek.Sunday; // Start 0000058, KuangWei, 2014-07-10 attendanceRecordRow["AttendanceRecordOvertimeMins"] = attendanceRecord.AttendanceRecordActualOvertimeMins; // End 0000058, KuangWei, 2014-07-10 attendanceRecordTable.Rows.Add(attendanceRecordRow); } } //System.Data.DataTable table = null; //foreach (int EmpID in EmpList) //{ // string select = "P.*,EmpPos.*,Pos.*,Comp.* "; // string from = "from EmpPersonalInfo P LEFT JOIN EmpPositionInfo EmpPos ON P.EmpID=EmpPos.EmpID AND EmpPos.EmpPosEffTo IS NULL LEFT JOIN Position Pos ON EmpPos.PositionID=Pos.PositionID LEFT JOIN Company Comp ON EmpPos.CompanyID=Comp.CompanyID"; // DBFilter filter = new DBFilter(); // OR or = new OR(); // filter.add(new Match("P.EmpID", EmpID)); // System.Data.DataTable resulttable = filter.loadData(null, select, from); // if (table == null) // table = resulttable; // else // table.Merge(resulttable); //} //DBAESEncryptStringFieldAttribute.decode(table, "EmpHKID", true); //DBAESEncryptStringFieldAttribute.decode(table, "EmpPassportNo", false); //if (reportDocument == null) //{ // reportDocument = new ReportTemplate.Report_Employee_List(); //} //else //{ //} reportDocument.SetDataSource(ds); return(reportDocument); } else { return(null); } }