protected virtual void EPActivity_RowSelected(PXCache cache, PXRowSelectedEventArgs e) { EPActivity row = e.Row as EPActivity; if (row == null) { return; } string status = ((string)cache.GetValueOriginal <EPActivity.uistatus>(row) ?? ActivityStatusListAttribute.Open); bool editable = status == ActivityStatusListAttribute.Open || status == ActivityStatusListAttribute.Draft || status == ActivityStatusListAttribute.InProcess; PXUIFieldAttribute.SetEnabled(cache, row, editable); Delete.SetEnabled(editable); Complete.SetEnabled(editable); CompleteAndFollowUp.SetEnabled(editable); CancelActivity.SetEnabled(editable); PXUIFieldAttribute.SetEnabled <EPActivity.taskID>(cache, row); PXUIFieldAttribute.SetEnabled <EPActivity.uistatus>(cache, row); PXUIFieldAttribute.SetEnabled <EPActivity.timeSpent>(cache, row, false); PXUIFieldAttribute.SetEnabled <EPActivity.createdByID>(cache, row, false); PXUIFieldAttribute.SetEnabled <EPActivity.completedDateTime>(cache, row, false); PXUIFieldAttribute.SetEnabled <EPActivity.overtimeSpent>(cache, row, false); PXUIFieldAttribute.SetEnabled <EPActivity.timeBillable>(cache, row, false); PXUIFieldAttribute.SetEnabled <EPActivity.overtimeBillable>(cache, row, false); PXUIFieldAttribute.SetEnabled <EPActivity.reminderDate>(cache, row, row.IsReminderOn == true); GotoParentActivity.SetEnabled(row.ParentTaskID != null); this.ChildActivities.Cache.AllowDelete = this.ReferencedTasks.Cache.AllowInsert = this.ReferencedTasks.Cache.AllowUpdate = this.ReferencedTasks.Cache.AllowDelete = editable; int timespent = 0; int overtimespent = 0; int timebillable = 0; int overtimebillable = 0; foreach (EPActivity child in ChildActivities.Select(row.TaskID)) { timespent += (child.TimeSpent ?? 0); overtimespent += (child.OvertimeSpent ?? 0); timebillable += (child.TimeBillable ?? 0); overtimebillable += (child.OvertimeBillable ?? 0); } row.TimeSpent = timespent; row.OvertimeSpent = overtimespent; row.TimeBillable = timebillable; row.OvertimeBillable = overtimebillable; }
protected virtual void CRActivity_RowSelected(PXCache cache, PXRowSelectedEventArgs e) { var row = e.Row as CRActivity; if (row == null) { return; } string status = ((string)cache.GetValueOriginal <CRActivity.uistatus>(row) ?? ActivityStatusListAttribute.Open); bool editable = status == ActivityStatusListAttribute.Open || status == ActivityStatusListAttribute.Draft || status == ActivityStatusListAttribute.InProcess; bool deleteable = ChildActivities.SelectByParentNoteID(row.NoteID).RowCast <CRPMTimeActivity>().All(o => o.IsBillable != true); PXUIFieldAttribute.SetEnabled(cache, row, editable); Delete.SetEnabled(deleteable); Complete.SetEnabled(editable); CompleteAndFollowUp.SetEnabled(editable); CancelActivity.SetEnabled(editable); AddNewRelatedTask.SetEnabled(cache.GetStatus(row) != PXEntryStatus.Inserted); PXUIFieldAttribute.SetEnabled <CRActivity.noteID>(cache, row); PXUIFieldAttribute.SetEnabled <CRActivity.uistatus>(cache, row); PXUIFieldAttribute.SetEnabled <CRActivity.source>(cache, row, false); PXUIFieldAttribute.SetEnabled <CRActivity.createdByID>(cache, row, false); PXUIFieldAttribute.SetEnabled <CRActivity.completedDate>(cache, row, false); GotoParentActivity.SetEnabled(row.ParentNoteID != null); ChildActivities.Cache.AllowDelete = ReferencedTasks.Cache.AllowInsert = ReferencedTasks.Cache.AllowUpdate = ReferencedTasks.Cache.AllowDelete = editable; var tAct = (PMTimeActivity)TimeActivity.SelectSingle(); var tActCache = TimeActivity.Cache; PXUIFieldAttribute.SetEnabled <PMTimeActivity.projectID>(tActCache, tAct, editable); PXUIFieldAttribute.SetEnabled <PMTimeActivity.projectTaskID>(tActCache, tAct, editable); PXUIFieldAttribute.SetEnabled <CRReminder.isReminderOn>(Reminder.Cache, Reminder.SelectSingle(), editable); PXUIFieldAttribute.SetEnabled <CRActivity.parentNoteID>(cache, row, false); MarkAs(cache, row, Accessinfo.UserID, EPViewStatusAttribute.VIEWED); }
protected virtual void CRActivity_RowSelected(PXCache cache, PXRowSelectedEventArgs e) { CRActivity row = (CRActivity)e.Row; if (row == null) { return; } PXUIFieldAttribute.SetEnabled <CRActivity.endDate>(cache, row, false); PXUIFieldAttribute.SetEnabled <CRActivity.source>(cache, row, false); PXUIFieldAttribute.SetEnabled <CRActivity.noteID>(cache, row); PXDefaultAttribute.SetPersistingCheck <CRActivity.type>(cache, row, PXPersistingCheck.Null); MarkAsCompletedAndFollowUp.SetVisible(false); GotoParentActivity.SetEnabled(row.ParentNoteID != null); }
protected virtual void CRActivity_RowSelected(PXCache cache, PXRowSelectedEventArgs e) { CRActivity row = (CRActivity)e.Row; if (row == null) { return; } var tAct = (PMTimeActivity)TimeActivity.SelectSingle(); var tActCache = TimeActivity.Cache; PXUIFieldAttribute.SetEnabled <CRActivity.endDate>(cache, row, false); bool wasUsed = !string.IsNullOrEmpty(tAct?.TimeCardCD) || tAct?.Billed == true; if (wasUsed) { PXUIFieldAttribute.SetEnabled(cache, row, false); } bool isPmVisible = ProjectAttribute.IsPMVisible(BatchModule.TA); PXUIFieldAttribute.SetVisible <PMTimeActivity.timeSpent>(tActCache, tAct, tAct?.TrackTime == true); PXUIFieldAttribute.SetVisible <PMTimeActivity.approvalStatus>(tActCache, tAct, tAct?.TrackTime == true); PXUIFieldAttribute.SetVisible <PMTimeActivity.earningTypeID>(tActCache, tAct, tAct?.TrackTime == true); PXUIFieldAttribute.SetVisible <PMTimeActivity.isBillable>(tActCache, tAct, tAct?.TrackTime == true); PXUIFieldAttribute.SetVisible <PMTimeActivity.released>(tActCache, tAct, tAct?.TrackTime == true); PXUIFieldAttribute.SetVisible <PMTimeActivity.timeBillable>(tActCache, tAct, tAct?.IsBillable == true && tAct?.TrackTime == true); PXUIFieldAttribute.SetVisible <PMTimeActivity.arRefNbr>(tActCache, tAct, tAct?.IsBillable == true && tAct?.TrackTime == true); PXUIFieldAttribute.SetVisible <PMTimeActivity.approverID>(tActCache, tAct, tAct?.TrackTime == true); PXUIFieldAttribute.SetVisible <PMTimeActivity.projectID>(tActCache, tAct, tAct?.TrackTime == true && isPmVisible); PXUIFieldAttribute.SetVisible <PMTimeActivity.certifiedJob>(tActCache, tAct, tAct?.TrackTime == true && isPmVisible); PXUIFieldAttribute.SetVisible <PMTimeActivity.projectTaskID>(tActCache, tAct, tAct?.TrackTime == true && isPmVisible); PXUIFieldAttribute.SetVisible <PMTimeActivity.costCodeID>(tActCache, tAct, tAct?.TrackTime == true && isPmVisible); PXUIFieldAttribute.SetVisible <PMTimeActivity.labourItemID>(tActCache, tAct, tAct?.TrackTime == true && isPmVisible); PXUIFieldAttribute.SetVisible <PMTimeActivity.unionID>(tActCache, tAct, tAct?.TrackTime == true); PXUIFieldAttribute.SetVisible <PMTimeActivity.workCodeID>(tActCache, tAct, tAct?.TrackTime == true); PXUIFieldAttribute.SetVisible <PMTimeActivity.overtimeSpent>(tActCache, tAct, false); PXUIFieldAttribute.SetVisible <PMTimeActivity.overtimeSpent>(tActCache, tAct, false); PXUIFieldAttribute.SetVisible <PMTimeActivity.overtimeBillable>(tActCache, tAct, false); bool showMinutes = EPSetupCurrent.RequireTimes == true; PXDBDateAndTimeAttribute.SetTimeEnabled <CRActivity.startDate>(cache, row, showMinutes && tAct?.TrackTime == true); PXDBDateAndTimeAttribute.SetTimeVisible <CRActivity.startDate>(cache, row, showMinutes && tAct?.TrackTime == true); PXDBDateAndTimeAttribute.SetTimeVisible <CRActivity.endDate>(cache, row, showMinutes && tAct?.TrackTime == true); string origTimeStatus = (string)this.TimeActivity.Cache.GetValueOriginal <PMTimeActivity.approvalStatus>(tAct) ?? ActivityStatusListAttribute.Open; string origStatus = (string)this.Activities.Cache.GetValueOriginal <CRActivity.uistatus>(row) ?? origTimeStatus; bool?origTrackTime = (bool?)this.TimeActivity.Cache.GetValueOriginal <PMTimeActivity.trackTime>(tAct) ?? false; if (origStatus == ActivityStatusListAttribute.Completed && origTrackTime != true) { origStatus = ActivityStatusListAttribute.Open; } if (row.IsLocked == true) { origStatus = ActivityStatusListAttribute.Completed; } if (origStatus == ActivityStatusListAttribute.Open) { PXUIFieldAttribute.SetEnabled(cache, row, true); Delete.SetEnabled(!wasUsed); } else { PXUIFieldAttribute.SetEnabled(cache, row, false); Delete.SetEnabled(false); } PXUIFieldAttribute.SetEnabled <CRActivity.source>(cache, row, false); PXUIFieldAttribute.SetEnabled <CRActivity.noteID>(cache, row); MarkAsCompleted.SetEnabled(origStatus == ActivityStatusListAttribute.Open); MarkAsCompleted.SetVisible(origStatus == ActivityStatusListAttribute.Open && tAct?.TrackTime == true); MarkAsCompletedAndFollowUp.SetVisible(false); GotoParentActivity.SetEnabled(row.ParentNoteID != null); // TimeActivity if (tAct?.Released == true) { origTimeStatus = ActivityStatusAttribute.Completed; } if (origTimeStatus == ActivityStatusListAttribute.Open) { PXUIFieldAttribute.SetEnabled(tActCache, tAct, true); PXUIFieldAttribute.SetEnabled <PMTimeActivity.timeBillable>(tActCache, tAct, !wasUsed && tAct?.IsBillable == true); PXUIFieldAttribute.SetEnabled <PMTimeActivity.overtimeBillable>(tActCache, tAct, !wasUsed && tAct?.IsBillable == true); } else { PXUIFieldAttribute.SetEnabled(tActCache, tAct, false); } PXUIFieldAttribute.SetEnabled <PMTimeActivity.approvalStatus>(tActCache, tAct, tAct != null && tAct.TrackTime == true && !wasUsed); PXUIFieldAttribute.SetEnabled <PMTimeActivity.released>(tActCache, tAct, false); PXDefaultAttribute.SetPersistingCheck <CRActivity.ownerID>(cache, row, tAct?.TrackTime == true ? PXPersistingCheck.Null : PXPersistingCheck.Nothing); PXDefaultAttribute.SetPersistingCheck <CRActivity.type>(cache, row, PXPersistingCheck.Null); }
protected virtual void EPActivity_RowSelected(PXCache cache, PXRowSelectedEventArgs e) { EPActivity row = (EPActivity)e.Row; if (row == null) { return; } bool isPmVisible = ProjectAttribute.IsPMVisible(this, BatchModule.EP); PXUIFieldAttribute.SetVisible <EPActivity.projectID>(cache, row, isPmVisible); PXUIFieldAttribute.SetVisible <EPActivity.projectTaskID>(cache, row, isPmVisible); PXUIFieldAttribute.SetEnabled <EPActivity.endDate>(cache, row, false); bool showMinutes = EPSetupCurrent.RequireTimes == true; PXDBDateAndTimeAttribute.SetTimeVisible <EPActivity.startDate>(cache, row, showMinutes && row.TrackTime == true); PXDBDateAndTimeAttribute.SetTimeVisible <EPActivity.endDate>(cache, row, showMinutes && row.TrackTime == true); bool wasUsed = !string.IsNullOrEmpty(row.TimeCardCD) || row.Billed == true; if (wasUsed) { PXUIFieldAttribute.SetEnabled(cache, row, false); } PXUIFieldAttribute.SetVisible <EPActivity.timeSpent>(cache, row, row.TrackTime == true); PXUIFieldAttribute.SetVisible <EPActivity.earningTypeID>(cache, row, row.TrackTime == true); PXUIFieldAttribute.SetVisible <EPActivity.isBillable>(cache, row, row.TrackTime == true); PXUIFieldAttribute.SetVisible <EPActivity.released>(cache, row, row.TrackTime == true); PXUIFieldAttribute.SetVisible <EPActivity.timeBillable>(cache, row, row.IsBillable == true && row.TrackTime == true); PXUIFieldAttribute.SetVisible <EPActivity.uistatus>(cache, row, row.TrackTime == true); PXUIFieldAttribute.SetVisible <EPActivity.approverID>(cache, row, row.TrackTime == true); PXUIFieldAttribute.SetVisible <EPActivity.projectID>(cache, row, row.TrackTime == true); PXUIFieldAttribute.SetVisible <EPActivity.projectTaskID>(cache, row, row.TrackTime == true); PXUIFieldAttribute.SetVisible <EPActivity.overtimeSpent>(cache, row, false); PXUIFieldAttribute.SetVisible <EPActivity.overtimeBillable>(cache, row, false); string origStatus = (string)this.Activites.Cache.GetValueOriginal <EPActivity.uistatus>(row) ?? ActivityStatusListAttribute.Open; bool?oringTrackTime = (bool?)this.Activites.Cache.GetValueOriginal <EPActivity.trackTime>(row) ?? false; if (origStatus == ActivityStatusListAttribute.Completed && oringTrackTime != true) { origStatus = ActivityStatusListAttribute.Open; } if (row.Released == true) { origStatus = ActivityStatusListAttribute.Completed; } if (origStatus == ActivityStatusListAttribute.Open) { PXUIFieldAttribute.SetEnabled(cache, row, true); PXUIFieldAttribute.SetEnabled <EPActivity.timeBillable>(cache, row, !wasUsed && row.IsBillable == true); PXUIFieldAttribute.SetEnabled <EPActivity.overtimeBillable>(cache, row, !wasUsed && row.IsBillable == true); Delete.SetEnabled(!wasUsed); } else { PXUIFieldAttribute.SetEnabled(cache, row, false); PXUIFieldAttribute.SetEnabled <EPActivity.uistatus>(cache, row, !wasUsed && row.Released != true); Delete.SetEnabled(false); } PXUIFieldAttribute.SetEnabled <EPActivity.released>(cache, row, false); PXUIFieldAttribute.SetEnabled <EPActivity.taskID>(cache, row); MarkAsCompleted.SetEnabled(origStatus == ActivityStatusListAttribute.Open); MarkAsCompleted.SetVisible(origStatus == ActivityStatusListAttribute.Open && row.TrackTime == true); MarkAsCompletedAndFollowUp.SetVisible(false); ValidateTimeBillable(cache, row); ValidateOvertimeBillable(cache, row); GotoParentActivity.SetEnabled(row.ParentTaskID != null); PXDefaultAttribute.SetPersistingCheck <EPActivity.owner>(cache, row, row.TrackTime == true ? PXPersistingCheck.Null : PXPersistingCheck.Nothing); PXDefaultAttribute.SetPersistingCheck <EPActivity.type>(cache, row, PXPersistingCheck.Null); }