public virtual void EPPosition_SDEnabled_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e) { if (e.Row == null) { return; } EPPosition epPositionRow = (EPPosition)e.Row; FSxEPPosition fsxEPPositionRow = cache.GetExtension <FSxEPPosition>(epPositionRow); fsxEPPositionRow.SDEnabledModified = true; }
protected virtual void _(Events.FieldUpdated <EPPosition, FSxEPPosition.sDEnabled> e) { if (e.Row == null) { return; } EPPosition epPositionRow = (EPPosition)e.Row; FSxEPPosition fsxEPPositionRow = e.Cache.GetExtension <FSxEPPosition>(epPositionRow); fsxEPPositionRow.SDEnabledModified = true; }
protected virtual void _(Events.RowPersisted <EPPosition> e) { if (e.Row == null) { return; } if (e.TranStatus == PXTranStatus.Open) { EPPosition epPositionRow = (EPPosition)e.Row; FSxEPPosition fsxEPPositionRow = e.Cache.GetExtension <FSxEPPosition>(epPositionRow); if (fsxEPPositionRow.SDEnabledModified == true) { WebDialogResult confirmResult = Base.EPPosition.Ask(TX.WebDialogTitles.POSITION_PROPAGATE_CONFIRM, TX.Messages.POSITION_PROPAGATE_CONFIRM, MessageButtons.YesNo); if (confirmResult == WebDialogResult.Yes) { Employee.Cache.Clear(); var epEmployeeSet = PXSelectJoin <EPEmployee, InnerJoin <EPEmployeePosition, On < EPEmployeePosition.employeeID, Equal <EPEmployee.bAccountID> > >, Where < EPEmployeePosition.positionID, Equal <Required <EPEmployeePosition.positionID> >, And <EPEmployeePosition.isActive, Equal <True> > > > .Select(Base, epPositionRow.PositionID); foreach (EPEmployee epEmployeeRow in epEmployeeSet) { var fsxEPEmployeeRow = Employee.Cache.GetExtension <FSxEPEmployee>(epEmployeeRow); if (fsxEPEmployeeRow != null) { fsxEPEmployeeRow.SDEnabled = fsxEPPositionRow.SDEnabled; Employee.Cache.Update(epEmployeeRow); Employee.Cache.SetStatus(epEmployeeRow, PXEntryStatus.Updated); } } Employee.Cache.Persist(PXDBOperation.Insert | PXDBOperation.Update); } } } }