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