Beispiel #1
0
        protected virtual void _(Events.FieldUpdating <ARTran, ARTran.qty> e)
        {
            if (e.Row == null || SharedFunctions.isFSSetupSet(Base) == false)
            {
                return;
            }

            ARTran arTranRow = (ARTran)e.Row;

            if (IsLineCreatedFromAppSO(Base, Base.Document.Current, arTranRow, typeof(ARTran.qty).Name) == true)
            {
                throw new PXSetPropertyException(TX.Error.NO_UPDATE_ALLOWED_DOCLINE_LINKED_TO_APP_SO);
            }
        }
Beispiel #2
0
        protected virtual void _(Events.FieldUpdating <WFStageFilter, WFStageFilter.wFID> e)
        {
            if (e.NewValue != null)
            {
                FSSrvOrdType fsSrvOrdTypeRow = PXSelect <FSSrvOrdType,
                                                         Where <
                                                             FSSrvOrdType.srvOrdType, Equal <Required <FSSrvOrdType.srvOrdType> > > >
                                               .Select(this, e.NewValue);

                if (fsSrvOrdTypeRow != null)
                {
                    Filter.Current.Descr = fsSrvOrdTypeRow.Descr;
                }
            }
        }
        protected virtual void _(Events.FieldUpdating <FSSrvOrdType, FSSrvOrdType.appAddressSource> e)
        {
            if (e.Row == null)
            {
                return;
            }

            FSSrvOrdType fsSrvOrdTypeRow = (FSSrvOrdType)e.Row;

            if (fsSrvOrdTypeRow.RequireContact == false && (string)e.NewValue == ID.Source_Info.CUSTOMER_CONTACT)
            {
                e.Cache.RaiseExceptionHandling <FSSrvOrdType.appAddressSource>(fsSrvOrdTypeRow,
                                                                               ID.Source_Info.CUSTOMER_CONTACT,
                                                                               new PXSetPropertyException(TX.Error.CUSTOMER_CONTACT_ADDRESS_OPTION_NOT_AVAILABLE, PXErrorLevel.Error));
            }
        }
Beispiel #4
0
        protected virtual void _(Events.FieldUpdating <AppointmentInqFilter, AppointmentInqFilter.toScheduledDate> e)
        {
            if (e.Row == null || e.NewValue == null)
            {
                return;
            }

            if (e.NewValue.GetType().Equals(typeof(string)))
            {
                e.NewValue = new DateHandler(DateTime.Parse(e.NewValue.ToString())).EndOfDay();
            }
            else
            {
                e.NewValue = new DateHandler((DateTime?)e.NewValue).EndOfDay();
            }
        }
Beispiel #5
0
        protected virtual void _(Events.FieldUpdating <FSRoom, FSRoom.roomID> e)
        {
            if (e.NewValue == null)
            {
                return;
            }

            FSRoom fsRoomRow  = (FSRoom)e.Row;
            FSRoom fsRoom_tmp = PXSelect <FSRoom,
                                          Where <
                                              FSRoom.branchLocationID, Equal <Required <FSRoom.branchLocationID> >,
                                              And <FSRoom.roomID, Equal <Required <FSRoom.roomID> > > > >
                                .Select(e.Cache.Graph, fsRoomRow.BranchLocationID, e.NewValue);

            if (fsRoom_tmp != null)
            {
                e.Cancel = true;
            }
        }
Beispiel #6
0
        protected virtual void _(Events.FieldUpdating <FSAppointmentFilter.startDate> e)
        {
            if (e.Row == null)
            {
                return;
            }

            var      filter  = (FSAppointmentFilter)e.Row;
            DateTime?newDate = SharedFunctions.TryParseHandlingDateTime(e.Cache, e.NewValue);

            if (newDate != null)
            {
                filter.StartDate = newDate.Value.Date;
            }
            else
            {
                filter.StartDate = null;
            }
        }
        protected virtual void _(Events.FieldUpdating <FeaturesSet.aSC606> e)
        {
            e.NewValue = PXBoolAttribute.ConvertValue(e.NewValue);

            FeaturesSet row = (FeaturesSet)e.Row;

            if (row == null)
            {
                return;
            }

            bool?oldValue = row.ASC606;

            if (row.ASC606 != null && oldValue != (bool)e.NewValue)
            {
                int?result = PXSelectGroupBy <
                    ARTranAlias,
                    Aggregate <Count> >
                             .SelectSingleBound(this, null)
                             .RowCount;

                if (result > 0)
                {
                    string          question = PXMessages.LocalizeFormatNoPrefixNLA(AR.Messages.UnreleasedDocsWithDRCodes, result);
                    WebDialogResult wdr      = Features.Ask(question, MessageButtons.YesNo);
                    if (wdr != WebDialogResult.Yes)
                    {
                        e.NewValue = oldValue;
                        e.Cancel   = true;
                        return;
                    }
                }

                //The system calculates the number of Stock and Non-Stock Inventories
                //in Active status which have MDA deferral code and empty field Allocation Method in Revenue Components.
                if ((bool)e.NewValue == false)
                {
                    //use AR.Messages.MDAInventoriesWithoutAllocationMethod
                }
            }
        }
Beispiel #8
0
 protected virtual void _(Events.FieldUpdating <POSetup.orderRequestApproval> args)
 {
     ChangeSetupApprovalStatuses(args.NewValue as bool?, false);
 }
 protected virtual void _(Events.FieldUpdating <SOInvoice, SOInvoice.refNbr> e)
 {
     e.Row.RefNbr = "<NEW>";
 }
Beispiel #10
0
        protected virtual void _(Events.FieldUpdating <FeaturesSet.centralizedPeriodsManagement> e)
        {
            e.NewValue = PXBoolAttribute.ConvertValue(e.NewValue);
            FeaturesSet row = (FeaturesSet)e.Row;

            if (row == null)
            {
                return;
            }

            int  messageCount = 0;
            bool isError      = false;

            if (row.CentralizedPeriodsManagement != null && row.CentralizedPeriodsManagement != (bool)e.NewValue && (bool)e.NewValue == true)
            {
                foreach (Organization organization in PXSelect <Organization> .Select(this))
                {
                    foreach (MasterFinPeriod problemPeriod in PXSelectJoin <
                                 MasterFinPeriod,
                                 LeftJoin <OrganizationFinPeriod,
                                           On <MasterFinPeriod.finPeriodID, Equal <OrganizationFinPeriod.masterFinPeriodID>,
                                               And <OrganizationFinPeriod.organizationID, Equal <Required <OrganizationFinPeriod.organizationID> > > > >,
                                 Where <OrganizationFinPeriod.finPeriodID, IsNull> >
                             .Select(this, organization.OrganizationID))
                    {
                        isError = true;
                        if (messageCount <= MAX_FINPERIOD_DISCREPANCY_MESSAGE_COUNT)
                        {
                            PXTrace.WriteError(GL.Messages.DiscrepancyPeriod, organization.OrganizationCD, problemPeriod.FinPeriodID);

                            messageCount++;
                        }
                        else
                        {
                            break;
                        }
                    }
                }

                if (isError)
                {
                    e.Cancel = true;
                    throw new PXSetPropertyException(GL.Messages.DiscrepancyPeriodError);
                }

                Organization etalonOrganization = PXSelect <Organization> .Select(this).First();

                if (etalonOrganization != null)
                {
                    foreach (Organization organization in PXSelect <Organization> .Select(this))
                    {
                        if (organization.OrganizationID == etalonOrganization.OrganizationID)
                        {
                            continue;
                        }

                        foreach (OrganizationFinPeriod problemPeriod in PXSelectJoin <
                                     OrganizationFinPeriod,
                                     LeftJoin <OrganizationFinPeriodStatus,
                                               On <OrganizationFinPeriodStatus.organizationID, Equal <Required <OrganizationFinPeriodStatus.organizationID> >,
                                                   And <OrganizationFinPeriod.finPeriodID, Equal <OrganizationFinPeriodStatus.finPeriodID>,
                                                        And <OrganizationFinPeriod.dateLocked, Equal <OrganizationFinPeriodStatus.dateLocked>,
                                                             And <OrganizationFinPeriod.status, Equal <OrganizationFinPeriodStatus.status>,
                                                                  And <OrganizationFinPeriod.aPClosed, Equal <OrganizationFinPeriodStatus.aPClosed>,
                                                                       And <OrganizationFinPeriod.aRClosed, Equal <OrganizationFinPeriodStatus.aRClosed>,
                                                                            And <OrganizationFinPeriod.iNClosed, Equal <OrganizationFinPeriodStatus.iNClosed>,
                                                                                 And <OrganizationFinPeriod.cAClosed, Equal <OrganizationFinPeriodStatus.cAClosed>,
                                                                                      And <OrganizationFinPeriod.fAClosed, Equal <OrganizationFinPeriodStatus.fAClosed> > > > > > > > > > >,
                                     Where <OrganizationFinPeriodStatus.finPeriodID, IsNull,
                                            And <OrganizationFinPeriod.organizationID, Equal <Required <OrganizationFinPeriod.organizationID> > > > >
                                 .Select(this, organization.OrganizationID, etalonOrganization.OrganizationID))
                        {
                            isError = true;
                            if (messageCount <= MAX_FINPERIOD_DISCREPANCY_MESSAGE_COUNT)
                            {
                                string problemFields = GetProblemFields(organization, problemPeriod);

                                PXTrace.WriteError(GL.Messages.DiscrepancyField,
                                                   etalonOrganization.OrganizationCD,
                                                   organization.OrganizationCD,
                                                   problemFields,
                                                   problemPeriod.FinPeriodID);

                                messageCount++;
                            }
                            else
                            {
                                break;
                            }
                        }
                    }

                    if (isError)
                    {
                        e.Cancel = true;
                        throw new PXSetPropertyException(GL.Messages.DiscrepancyFieldError);
                    }
                }

                foreach (PXResult <MasterFinPeriod, OrganizationFinPeriod> res in MasterFinPeriods.Select(etalonOrganization.OrganizationID))
                {
                    MasterFinPeriod       masterFinPeriod       = res;
                    OrganizationFinPeriod organizationFinPeriod = res;

                    masterFinPeriod.DateLocked = organizationFinPeriod.DateLocked;
                    masterFinPeriod.Status     = organizationFinPeriod.Status;
                    masterFinPeriod.APClosed   = organizationFinPeriod.APClosed;
                    masterFinPeriod.ARClosed   = organizationFinPeriod.ARClosed;
                    masterFinPeriod.INClosed   = organizationFinPeriod.INClosed;
                    masterFinPeriod.CAClosed   = organizationFinPeriod.CAClosed;
                    masterFinPeriod.FAClosed   = organizationFinPeriod.FAClosed;

                    this.MasterFinPeriods.Cache.Update(masterFinPeriod);
                }
            }
        }