Ejemplo n.º 1
0
        ///<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);
        }
Ejemplo n.º 2
0
        ///<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);
        }