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;
        }
コード例 #2
0
        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;
        }
コード例 #3
0
        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);
                    }
                }
            }
        }