protected virtual void EPActivityApprove_RowSelected(PXCache sender, PXRowSelectedEventArgs e) { EPActivityApprove row = (EPActivityApprove)e.Row; EPActivityFilter rowFilter = (EPActivityFilter)Filter.Current; if (row == null || rowFilter == null) { return; } if (row.Released == true) { PXUIFieldAttribute.SetEnabled(sender, row, false); EPStartDateAttribute.SetTimeEnabled <EPActivityApprove.startDate>(sender, row, false); EPStartDateAttribute.SetDateEnabled <EPActivityApprove.startDate>(sender, row, false); } else if (row.UIStatus == CR.ActivityStatusListAttribute.Open || row.UIStatus == CR.ActivityStatusListAttribute.Completed) { PXUIFieldAttribute.SetEnabled(sender, row, true); PXUIEnabledAttribute.SetEnabled <EPActivityApprove.timeBillable>(sender, row); PMProject project = (PMProject)PXSelectorAttribute.Select <EPActivityApprove.projectID>(sender, row); PXUIFieldAttribute.SetEnabled <EPActivityApprove.projectID>(sender, row, rowFilter.ProjectID == null); if (project != null) { PXUIFieldAttribute.SetEnabled <EPActivityApprove.projectTaskID>(sender, row, rowFilter.ProjectTaskID == null && project.BaseType == PMProject.ProjectBaseType.Project); } else { PXUIFieldAttribute.SetEnabled <EPActivityApprove.projectTaskID>(sender, row, rowFilter.ProjectTaskID == null); } EPStartDateAttribute.SetTimeEnabled <EPActivityApprove.startDate>(sender, row, true); EPStartDateAttribute.SetDateEnabled <EPActivityApprove.startDate>(sender, row, true); PXUIFieldAttribute.SetEnabled <EPActivityApprove.uistatus>(sender, row, false); PXUIFieldAttribute.SetEnabled <EPActivityApprove.approverID>(sender, row, false); PXUIFieldAttribute.SetEnabled <EPActivityApprove.timeCardCD>(sender, row, false); } else { PXUIFieldAttribute.SetEnabled(sender, row, false); EPStartDateAttribute.SetTimeEnabled <EPActivityApprove.startDate>(sender, row, false); EPStartDateAttribute.SetDateEnabled <EPActivityApprove.startDate>(sender, row, false); PXUIFieldAttribute.SetEnabled <EPActivityApprove.hold>(sender, row, true); } PXUIFieldAttribute.SetEnabled <EPActivityApprove.approvalStatus>(sender, row, false); if (row.UIStatus == CR.ActivityStatusListAttribute.Rejected) { sender.RaiseExceptionHandling <EPActivityApprove.hold>(row, null, new PXSetPropertyException(Messages.Rejected, PXErrorLevel.RowWarning)); } }
protected virtual void EPActivityFilter_RowSelected(PXCache sender, PXRowSelectedEventArgs e) { EPStartDateAttribute.SetTimeVisible <EPActivityApprove.startDate>(Activity.Cache, null, EPsetingst.Current.RequireTimes == true); if (!PXAccess.FeatureInstalled <FeaturesSet.timeReportingModule>()) { PXUIFieldAttribute.SetVisible(Activity.Cache, typeof(EPActivityApprove.timeSpent).Name, false); PXUIFieldAttribute.SetVisible(Activity.Cache, typeof(EPActivityApprove.timeBillable).Name, false); PXUIFieldAttribute.SetVisible(Activity.Cache, typeof(EPActivityApprove.isBillable).Name, false); PXUIFieldAttribute.SetVisible <EPActivityFilter.regularOvertime>(sender, null, false); PXUIFieldAttribute.SetVisible <EPActivityFilter.regularTime>(sender, null, false); PXUIFieldAttribute.SetVisible <EPActivityFilter.regularTotal>(sender, null, false); PXUIFieldAttribute.SetVisible <EPActivityFilter.billableOvertime>(sender, null, false); PXUIFieldAttribute.SetVisible <EPActivityFilter.billableTime>(sender, null, false); PXUIFieldAttribute.SetVisible <EPActivityFilter.billableTotal>(sender, null, false); } if (!PXAccess.FeatureInstalled <FeaturesSet.projectModule>()) { PXUIFieldAttribute.SetVisible(Activity.Cache, typeof(EPActivityApprove.projectTaskID).Name, false); PXUIFieldAttribute.SetVisible <EPActivityFilter.projectTaskID>(sender, null, false); } EPActivityFilter row = (EPActivityFilter)e.Row; if (row != null) { row.BillableTime = 0; row.BillableOvertime = 0; row.BillableTotal = 0; row.RegularTime = 0; row.RegularOvertime = 0; row.RegularTotal = 0; foreach (PXResult <EPActivityApprove, EPEarningType> item in Activity.Select()) { EPActivityApprove rowActivity = (EPActivityApprove)item; EPEarningType rowEarningType = (EPEarningType)item; if (rowEarningType.IsOvertime == true) { row.RegularOvertime += rowActivity.TimeSpent.GetValueOrDefault(0); row.BillableOvertime += rowActivity.TimeBillable.GetValueOrDefault(0); } else { row.RegularTime += rowActivity.TimeSpent.GetValueOrDefault(0); row.BillableTime += rowActivity.TimeBillable.GetValueOrDefault(0); } row.BillableTotal = row.BillableTime + row.BillableOvertime; row.RegularTotal = row.RegularTime + row.RegularOvertime; } } }