///<summary>Used in the timecard to track hours worked per week when the week started in a previous time period. This gets all the hours of the first week before the date listed. Also adds in any adjustments for that week.</summary> public static TimeSpan GetWeekTotal(long empNum, DateTime date) { //No need to check RemotingRole; no call to db. TimeSpan retVal = new TimeSpan(0); //If the first day of the pay period is the starting date for the overtime, then there is no need to retrieve any times from the previous pay period. if (date.DayOfWeek == (DayOfWeek)PrefC.GetInt(PrefName.TimeCardOvertimeFirstDayOfWeek)) { return(retVal); } List <ClockEvent> events = Refresh(empNum, date.AddDays(-6), date.AddDays(-1), false); //eg, if this is Thursday, then we are getting last Friday through this Wed. for (int i = 0; i < events.Count; i++) { if (events[i].TimeDisplayed1.DayOfWeek > date.DayOfWeek) //eg, Friday > Thursday, so ignore { continue; } retVal += events[i].TimeDisplayed2 - events[i].TimeDisplayed1; if (events[i].AdjustIsOverridden) { retVal += events[i].Adjust; } else { retVal += events[i].AdjustAuto; //typically zero } //ot if (events[i].OTimeHours != TimeSpan.FromHours(-1)) //overridden { retVal -= events[i].OTimeHours; } else { retVal -= events[i].OTimeAuto; //typically zero } } //now, adjustments List <TimeAdjust> TimeAdjustList = TimeAdjusts.Refresh(empNum, date.AddDays(-6), date.AddDays(-1)); for (int i = 0; i < TimeAdjustList.Count; i++) { if (TimeAdjustList[i].TimeEntry.DayOfWeek > date.DayOfWeek) //eg, Friday > Thursday, so ignore { continue; } retVal += TimeAdjustList[i].RegHours; } return(retVal); }
///<summary>Used in the timecard to track hours worked per week when the week started in a previous time period. This gets all the hours of the first week before the date listed. Also adds in any adjustments for that week.</summary> public static TimeSpan GetWeekTotal(long empNum, DateTime date) { //No need to check RemotingRole; no call to db. List <ClockEvent> events = Refresh(empNum, date.AddDays(-6), date.AddDays(-1), false); //eg, if this is Thursday, then we are getting last Friday through this Wed. TimeSpan retVal = new TimeSpan(0); for (int i = 0; i < events.Count; i++) { if (events[i].TimeDisplayed1.DayOfWeek > date.DayOfWeek) //eg, Friday > Thursday, so ignore { continue; } retVal += events[i].TimeDisplayed2 - events[i].TimeDisplayed1; if (events[i].AdjustIsOverridden) { retVal += events[i].Adjust; } else { retVal += events[i].AdjustAuto; //typically zero } //ot if (events[i].OTimeHours != TimeSpan.FromHours(-1)) //overridden { retVal -= events[i].OTimeHours; } else { retVal -= events[i].OTimeAuto; //typically zero } } //now, adjustments List <TimeAdjust> TimeAdjustList = TimeAdjusts.Refresh(empNum, date.AddDays(-6), date.AddDays(-1)); for (int i = 0; i < TimeAdjustList.Count; i++) { if (TimeAdjustList[i].TimeEntry.DayOfWeek > date.DayOfWeek) //eg, Friday > Thursday, so ignore { continue; } retVal += TimeAdjustList[i].RegHours; } return(retVal); }