private List<EmployeeTimeRange> GetRecordingTimeRanges(long employeeid, DateTime date) { List<EmployeeTimeRange> result = new List<EmployeeTimeRange> (); EmployeeTimeRange range = null; int i=0; while(i < MAXRANGES ) { if (!_recordingTimes[i].Empty) { range = new EmployeeTimeRange(); range.EmployeeID = employeeid; range.Date = date; range.Begin = (short)(i * 15); range.End = (short)(range.Begin + 15) ; if (_recordingTimes[i].Absenced) { range.Absence = _recordingTimes[i].AbsenceEntity; if (range.Absence != null) range.AbsenceID = range.Absence.ID; i++; while (i < MAXRANGES) { if (range.Absence == _recordingTimes[i].AbsenceEntity) { range.End += 15; } else { range.Time = (short)(range.End - range.Begin); result.Add(range); range = null; break; } i++; } continue; } else { i++; while (i < MAXRANGES) { if (_recordingTimes[i].Worked) { range.End += 15; } else { range.Time = (short)(range.End - range.Begin); result.Add(range); range = null; break; } i++; } continue; } } i++; } if (range != null) { range.Time = (short)(range.End - range.Begin); result.Add(range); } if (result.Count == 0) return null; return result; }
public void Assign(EmployeeDay employeeday) { Clear(); if (employeeday.TimeList != null) { EmployeeTimeRange newrange = null; foreach (EmployeeTimeRange range in employeeday.TimeList) { newrange = new EmployeeTimeRange(range); //newrange.ID = -1;//newitem Times.Add(newrange); } } }
public void AssignTo(EmployeeDay employeeday) { employeeday.TimeList = null; if (Times != null) { employeeday.TimeList = new List<EmployeeTimeRange> (); EmployeeTimeRange en = null; foreach (EmployeeTimeRange range in Times) { en = new EmployeeTimeRange(range); en.EmployeeID = employeeday.EmployeeId; //en.ID = 0; en.Date = employeeday.Date; employeeday.TimeList.Add (en); } } employeeday.Modified = true; }
public void FillEmployeeWeeks(DateTime begin, DateTime end, bool bPlanning) { if (_listweeks == null || _listweeks.Count == 0) { return; } List <EmployeeTimeRange> lstRanges = new List <EmployeeTimeRange>(); EmployeeTimeRange range = null; #region Load entities if (bPlanning) { List <WorkingTimePlanning> lstWorks = EmployeeService.EmployeeTimeService.WorkingTimePlanningService.GetWorkingTimePlanningsByEmployeeIds(_employeeids, begin, end); List <AbsenceTimePlanning> lstAbsences = EmployeeService.EmployeeTimeService.AbsenceTimePlanningService.GetAbsenceTimePlanningsByEmployeeIds(_employeeids, begin, end); if (lstWorks != null) { foreach (WorkingTimePlanning entity in lstWorks) { lstRanges.Add(new EmployeeTimeRange(entity)); } } if (lstAbsences != null) { foreach (AbsenceTimePlanning entity in lstAbsences) { lstRanges.Add(new EmployeeTimeRange(entity)); } } } else { List <WorkingTimeRecording> lstWorks = EmployeeService.EmployeeTimeService.WorkingTimeRecordingService.GetWorkingTimeRecordingsByEmployeeIds(_employeeids, begin, end); List <AbsenceTimeRecording> lstAbsences = EmployeeService.EmployeeTimeService.AbsenceTimeRecordingService.GetAbsenceTimeRecordingsByEmployeeIds(_employeeids, begin, end); if (lstWorks != null) { foreach (WorkingTimeRecording entity in lstWorks) { lstRanges.Add(new EmployeeTimeRange(entity)); } } if (lstAbsences != null) { foreach (AbsenceTimeRecording entity in lstAbsences) { lstRanges.Add(new EmployeeTimeRange(entity)); } } } #endregion lstRanges.Sort(); if (lstRanges.Count > 0) { EmployeeWeek week = null; EmployeeDay emplday = null; for (int i = 0; i < lstRanges.Count; i++) { range = lstRanges[i]; if (week == null || (week.EmployeeId != range.EmployeeID)) { week = null; _dictionWeek.TryGetValue(range.EmployeeID, out week); } if (week != null) { emplday = week.GetDay(range.Date); if (emplday != null) { if (emplday.TimeList == null) { emplday.TimeList = new List <EmployeeTimeRange>(); } emplday.TimeList.Add(range); } } } } }