public List <AttendanceBase> GetAttendanceByCondition(int employeeId, DateTime theDayFrom, DateTime theDayTo, AttendanceTypeEmnu AttendaceType) { List <AttendanceBase> attendances = new List <AttendanceBase>(); SqlCommand cmd = new SqlCommand(); //cmd.Parameters.Add(_EmployeeName, SqlDbType.NVarChar, 50).Value = employeeName; cmd.Parameters.Add(_EmployeeId, SqlDbType.Int).Value = employeeId; cmd.Parameters.Add(_DayFrom, SqlDbType.DateTime).Value = theDayFrom; cmd.Parameters.Add(_DayTo, SqlDbType.DateTime).Value = theDayTo; cmd.Parameters.Add(_AttendanceType, SqlDbType.Int).Value = AttendaceType; using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetAttendanceByCondition", cmd)) { while (sdr.Read()) { switch ((AttendanceTypeEmnu)sdr[_DbAttendanceType]) { case AttendanceTypeEmnu.Absenter: AbsentAttendance absent = new AbsentAttendance(Convert.ToInt32(sdr[_DbEmployeeId]), Convert.ToDateTime(sdr[_DbTheDay]), Convert.ToDecimal(sdr[_DbDays])); absent.AttendanceId = Convert.ToInt32(sdr[_DbPKID]); absent.AddDutyDays = Convert.ToDecimal(sdr[_DbAddDutyDays]); absent.Days = Convert.ToDecimal(sdr[_DbDays]); //absent.EmployeeName = sdr[_DbEmployeeName].ToString(); attendances.Add(absent); break; case AttendanceTypeEmnu.Early: EarlyLeaveAttendance early = new EarlyLeaveAttendance(Convert.ToInt32(sdr[_DbEmployeeId]), Convert.ToDateTime(sdr[_DbTheDay]), Convert.ToInt32(sdr[_DbEarlyAndLateMunite])); early.AttendanceId = Convert.ToInt32(sdr[_DbPKID]); early.AddDutyDays = Convert.ToDecimal(sdr[_DbAddDutyDays]); early.Days = Convert.ToDecimal(sdr[_DbDays]); //early.EmployeeName = sdr[_DbEmployeeName].ToString(); attendances.Add(early); break; case AttendanceTypeEmnu.Late: LaterAttendance late = new LaterAttendance(Convert.ToInt32(sdr[_DbEmployeeId]), Convert.ToDateTime(sdr[_DbTheDay]), Convert.ToInt32(sdr[_DbEarlyAndLateMunite])); late.AttendanceId = Convert.ToInt32(sdr[_DbPKID]); late.AddDutyDays = Convert.ToDecimal(sdr[_DbAddDutyDays]); late.Days = Convert.ToDecimal(sdr[_DbDays]); //late.EmployeeName = sdr[_DbEmployeeName].ToString(); attendances.Add(late); break; } } return(attendances); } }
public List <AttendanceBase> GetCalendarByEmployee(int employeeId, DateTime theDayFrom, DateTime theDayTo, AttendanceTypeEmnu AttendaceType) { throw new NotImplementedException(); }
///<summary> /// 转换为日历显示 ///</summary> ///<param name="employeeId"></param> ///<param name="theDayFrom"></param> ///<param name="theDayTo"></param> ///<param name="attendaceType"></param> ///<returns></returns> public List <DayAttendance> GetCalendarByEmployee(int employeeId, DateTime theDayFrom, DateTime theDayTo, AttendanceTypeEmnu attendaceType) { //获取员工缺勤信息 List <AttendanceBase> baseList = _AttendanceDal.GetCalendarByEmployee(employeeId, theDayFrom, theDayTo, attendaceType); List <DayAttendance> dayAttendances = new List <DayAttendance>(); //转换为日历 foreach (AttendanceBase attendanceBase in baseList) { DayAttendance dayAttendance = null; EarlyLeaveAttendance early; LaterAttendance late; if (attendanceBase is AbsentAttendance) { dayAttendance = new DayAttendance(-1, attendanceBase.Name, attendanceBase.Days * 8, 0, attendanceBase.TheDay, string.Empty, CalendarType.Absent); } else if ((early = attendanceBase as EarlyLeaveAttendance) != null) { dayAttendance = new DayAttendance(-1, early.Name, early.Days, early.EarlyLeaveMinutes, early.TheDay, string.Empty, CalendarType.LeaveEarly); } else if ((late = attendanceBase as LaterAttendance) != null) { dayAttendance = new DayAttendance(-1, late.Name, late.Days, late.LaterMinutes, late.TheDay, string.Empty, CalendarType.Late); } dayAttendances.Add(dayAttendance); } return(dayAttendances); }