protected bool ContactWasUpdated(PXCache cache, Contact contact)
        {
            var original = cache.GetOriginal(contact) as Contact;

            if (original == null ||
                contact.FirstName != original.FirstName ||
                contact.LastName != original.LastName ||
                contact.FullName != original.FullName ||
                contact.Salutation != original.Salutation ||
                contact.EMail != original.EMail ||
                contact.WebSite != original.WebSite ||
                contact.Phone1Type != original.Phone1Type ||
                contact.Phone1 != original.Phone1 ||
                contact.Phone2Type != original.Phone2Type ||
                contact.Phone2 != original.Phone2 ||
                contact.Phone3Type != original.Phone3Type ||
                contact.Phone3 != original.Phone3 ||
                contact.FaxType != original.FaxType ||
                contact.Fax != original.Fax ||
                contact.ConsentAgreement != original.ConsentAgreement ||
                contact.ConsentDate != original.ConsentDate ||
                contact.ConsentExpirationDate != original.ConsentExpirationDate)
            {
                return(true);
            }

            return(false);
        }
 public virtual void RowPersisting(PXCache sender, PXRowPersistingEventArgs e)
 {
     if (BranchSourceType != null &&
         (sender.Graph.IsImport || sender.Graph.IsContractBasedAPI || sender.Graph.UnattendedMode) &&
         (e.Operation & PXDBOperation.Command).IsIn(PXDBOperation.Insert, PXDBOperation.Update))
     {
         ValidatePeriodAndSources(sender,
                                  sender.GetOriginal(e.Row),
                                  e.Row,
                                  !sender.Graph.UnattendedMode || sender.Graph.IsContractBasedAPI);
     }
 }
        private void DeleteAutomaticallyGeneratedLienWaiversIfRequired(PXCache cache, APRegister document)
        {
            var originalDocument = cache.GetOriginal(document) as APRegister;

            if (originalDocument?.Hold == false && document.Hold == true)
            {
                var paymentEntryExtension = Base.GetExtension <PX.Objects.CN.Compliance.AP.GraphExtensions.ApPaymentEntryExt>();
                var lienWaiverTypeId      = Base.Select <ComplianceAttributeType>()
                                            .Single(type => type.Type == ComplianceDocumentType.LienWaiver).ComplianceAttributeTypeID;
                var lienWaivers = paymentEntryExtension.ComplianceDocuments.SelectMain()
                                  .Where(cd => cd.DocumentType == lienWaiverTypeId && cd.IsCreatedAutomatically == true);
                paymentEntryExtension.ComplianceDocuments.Cache.DeleteAll(lienWaivers);
            }
        }
예제 #4
0
        private bool IsAnyFieldUpdated(PXCache cache, object newRow)
        {
            var original = cache.GetOriginal(newRow);

            foreach (var fieldType in cache.BqlFields)
            {
                var fieldName = cache.GetField(fieldType);
                var oldValue  = cache.GetValue(original, fieldName)?.ToString();
                var newValue  = cache.GetValue(newRow, fieldName)?.ToString();
                if (fieldName != _FieldName && oldValue != newValue)
                {
                    return(true);
                }
            }
            return(false);
        }
        protected bool AddressWasUpdated(PXCache cache, Address address)
        {
            var original = cache.GetOriginal(address) as Address;

            if (original == null ||
                address.AddressLine1 != original.AddressLine1 ||
                address.AddressLine2 != original.AddressLine2 ||
                address.City != original.City ||
                address.State != original.State ||
                address.PostalCode != original.PostalCode ||
                address.CountryID != original.CountryID)
            {
                return(true);
            }

            return(false);
        }
        private void StopPaymentIfOutstandingLienWaiversExist(PXCache cache, APRegister document)
        {
            var originalDocument = cache.GetOriginal(document) as APRegister;

            if (originalDocument?.Status != document.Status && document.Hold == false &&
                PXContext.GetScreenID() == Constants.ScreenIds.ChecksAndPayments)
            {
                if (originalDocument?.Status == APDocStatus.Hold)
                {
                    lienWaiverProcessingValidationService.ValidateLienWaiversOnManualStatusChange(document,
                                                                                                  LienWaiverSetup.Current?.ShouldStopPayments);
                }
                else
                {
                    lienWaiverProcessingValidationService.ValidateLienWaivers(document,
                                                                              LienWaiverSetup.Current?.ShouldStopPayments);
                }
            }
        }