protected virtual void EPSummaryFilter_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
        {
            EPSummaryFilter row = (EPSummaryFilter)e.Row;

            if (row != null)
            {
                row.RegularTime     = 0;
                row.RegularOvertime = 0;
                row.RegularTotal    = 0;
                foreach (PXResult <EPSummaryApprove, EPEarningType> item in Summary.Select())
                {
                    EPSummaryApprove rowActivity    = (EPSummaryApprove)item;
                    EPEarningType    rowEarningType = (EPEarningType)item;

                    if (rowEarningType.IsOvertime == true)
                    {
                        row.RegularOvertime += rowActivity.TimeSpent.GetValueOrDefault(0);
                    }
                    else
                    {
                        row.RegularTime += rowActivity.TimeSpent.GetValueOrDefault(0);
                    }

                    row.RegularTotal = row.RegularTime + row.RegularOvertime;
                }
            }
        }
        protected virtual void EPSummaryFilter_TillWeek_FieldUpdated(PXCache sender, PXFieldUpdatedEventArgs e)
        {
            EPSummaryFilter row = (EPSummaryFilter)e.Row;

            if (row != null && e.ExternalCall && row.FromWeek != null && row.FromWeek > row.TillWeek)
            {
                row.FromWeek = row.TillWeek;
            }
        }