/// <summary> /// /// </summary> public List <DayAttendance> GetCalendarByEmployee(int AccountID, DateTime fromDate, DateTime toDate) { List <DayAttendance> dayAttendance = new List <DayAttendance>(); List <OutApplicationItem> outApplicationItemList = new List <OutApplicationItem>(); List <OutApplicationItem> outApplicationItemFromDal = _OutApplicationDal.GetOutApplicationForCalendar(AccountID, fromDate, toDate); foreach (OutApplicationItem item in outApplicationItemFromDal) { OutApplicationItem outApplicationItem = _OutApplicationDal.GetOutApplicationItemByItemID(item.ItemID); item.OutApplicationID = outApplicationItem.OutApplicationID; if (item.Status == RequestStatus.Cancelled || item.Status == RequestStatus.CancelApproving) { if (OutApplicationUtility.IsAgreed(outApplicationItem)) { outApplicationItemList.Add(item); } } else { outApplicationItemList.Add(item); } } foreach (OutApplicationItem item in outApplicationItemList) { OutType outType = _OutApplicationDal.GetOutApplicationByOutApplicationID(item.OutApplicationID).OutType; if (outType.ID == OutType.InCity.ID || outType.ID == OutType.OutCity.ID) { CalculateOutHour cal = new CalculateOutHour(item.FromDate, item.ToDate, AccountID); cal.Excute(); dayAttendance.AddRange(cal.DayAttendanceList); } else if (outType.ID == OutType.OutCity.ID) { CalculateOutCityHour cal = new CalculateOutCityHour(item.FromDate, item.ToDate, AccountID); cal.Excute(); dayAttendance.AddRange(cal.DayAttendanceList); } } return(dayAttendance); }
protected override void ExcuteSelf() { if (_OutApplicationItem.Status == RequestStatus.ApprovePass) { AddAdjustRestRemainedHours(); } if (OutApplicationUtility.IsAgreed(_OutApplicationItem)) { if (_OutApplicationItem.Status == RequestStatus.ApproveCancelPass) { DeleteAdjustRestRemainedHours(); } } else { if (_OutApplicationItem.Status == RequestStatus.ApproveCancelFail) { AddAdjustRestRemainedHours(); } } }