I have added a new view to a graph extension, my expectation is that changes made to it would be persisted during the normal Save process. However, I am noticing that after the updates
I do not believe my call to TimeActivities.Cache.SetValueExt is actually updating the cache.
Why would this be?
namespace GPGeneral.CR
{
public class TimeCardMaint_Ext : PXGraphExtension<PX.Objects.EP.TimeCardMaint>
{
public static bool IsActive() => (true);
public PXSelectJoin<EPTimecardTask,
InnerJoin<CREmployee, On<CREmployee.defContactID, Equal<EPTimecardTask.ownerID>>>,
Where<CREmployee.bAccountID, Equal<Current<EPTimeCard.employeeID>>,
And<EPTimecardTask.ownerID, Equal<Current<EPEmployee.defContactID>>,
And<EPTimecardTask.weekID, Equal<Current<EPTimeCard.weekId>>
>
>
>> TimeActivities;
protected void _(Events.FieldUpdated<EPTimecardDetail.timeSpent> e)
{
if (e.NewValue == null)
return;
var nTimeSpent = (int)e.NewValue;
var tmDetail = (EPTimecardDetail)e.Row;
foreach (EPTimecardTask tmTsk in TimeActivities.Select())
{
if(tmTsk.NoteID == tmDetail.RefNoteID)
{
var newClockOut = tmTsk.StartDate.Value.AddMinutes(nTimeSpent);
TimeActivities.Cache.SetValueExt<EPTimecardTask.endDate>(tmTsk, newClockOut);
TimeActivities.Cache.SetValueExt<EPTimecardTask.uistatus>(tmTsk, ActivityStatusListAttribute.Completed);
//tmTsk.EndDate = newClockOut;
//tmTsk.UIStatus = ActivityStatusListAttribute.Completed;
//TimeActivities.Update(tmTsk);
break;
}
}
}
}
}
Best answer by Naveen Boga
View original