Example #1
0
        protected virtual void Contact_RowSelected(PXCache cache, PXRowSelectedEventArgs e)
        {
            if (e.Row == null)
            {
                return;
            }

            Contact  row  = e.Row as Contact;
            BAccount acct = BAccountUtility.FindAccount(this, row.BAccountID);

            if (acct != null)
            {
                SelectedContact selContact = row as SelectedContact;
                if (!row.DefAddressID.HasValue)
                {
                    row.DefAddressID = acct.DefAddressID;                     //Set default value
                }
                if (selContact != null)
                {
                    selContact.IsAddressSameAsMain = (row.DefAddressID == acct.DefAddressID);
                }
            }
            PXUIFieldAttribute.SetVisible <Contact.bAccountID>(cache, row, false);
            PXUIFieldAttribute.SetVisible <Contact.contactID>(cache, row, false);
            PXUIFieldAttribute.SetVisible <Contact.defAddressID>(cache, row, false);
        }
Example #2
0
        protected virtual void Contact_DefAddressID_FieldDefaulting(PXCache cache, PXFieldDefaultingEventArgs e)
        {
            Contact row = e.Row as Contact;

            if (row != null)
            {
                BAccount acct = BAccountUtility.FindAccount(this, row.BAccountID);;
                if (acct != null)
                {
                    e.NewValue = acct.DefAddressID;
                }
            }
        }
Example #3
0
        protected virtual void Address_RowSelected(PXCache cache, PXRowSelectedEventArgs e)
        {
            Address  row          = e.Row as Address;
            BAccount acct         = BAccountUtility.FindAccount(this, row.BAccountID);;
            bool     isSameAsMain = false;

            if (acct != null)
            {
                isSameAsMain = (row.AddressID == acct.DefAddressID);
            }
            PXUIFieldAttribute.SetEnabled(cache, row, !isSameAsMain);
            PXUIFieldAttribute.SetVisible <Address.addressID>(cache, row);
            PXUIFieldAttribute.SetVisible <Address.bAccountID>(cache, row);
        }
Example #4
0
        protected virtual void Contact_RowDeleted(PXCache cache, PXRowDeletedEventArgs e)
        {
            Contact  row  = e.Row as Contact;
            BAccount acct = BAccountUtility.FindAccount(this, row.BAccountID);;

            if (acct != null)
            {
                if (row.DefAddressID.HasValue && row.DefAddressID != acct.DefAddressID)
                {
                    Address addr = (Address)this.Address.Current;
                    if (row.DefAddressID == addr.AddressID)
                    {
                        this.Address.Delete(addr);
                    }
                }
            }
        }
Example #5
0
        protected override void Address_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
        {
            Address row = e.Row as Address;

            if (row != null)
            {
                BAccount acct         = BAccountUtility.FindAccount(this, row.BAccountID);
                bool     isSameAsMain = false;
                if (acct != null)
                {
                    isSameAsMain = (row.AddressID == acct.DefAddressID);
                }

                if (!isSameAsMain && Location.Current != null && APPaymentInfoLocation.Current != null && object.Equals(APPaymentInfoLocation.Current.VRemitAddressID, row.AddressID))
                {
                    PXUIFieldAttribute.SetEnabled(sender, e.Row, object.Equals(Location.Current.LocationID, Location.Current.VPaymentInfoLocationID));
                }
                else
                {
                    base.Address_RowSelected(sender, e);
                }
            }
        }
Example #6
0
        public virtual void Contact_IsAddressSameAsMain_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e)
        {
            SelectedContact row = (SelectedContact)e.Row;

            if (row.IsAddressSameAsMain.HasValue)
            {
                if (row.IsAddressSameAsMain == true)
                {
                    BAccount account = BAccountUtility.FindAccount(this, row.BAccountID);
                    Address  addr    = this.Address.Current;
                    if (account != null)
                    {
                        if (row.DefAddressID != account.DefAddressID)
                        {
                            if (addr.AddressID == row.DefAddressID)
                            {
                                this.Address.Cache.Delete(addr);
                            }
                            row.DefAddressID = account.DefAddressID;
                            this.Contact.View.RequestRefresh();
                        }
                    }
                }
                else
                {
                    Address defAddress = this.Address.Current;
                    Address addr       = PXCache <Address> .CreateCopy(defAddress);

                    addr.BAccountID = row.BAccountID;
                    addr.AddressID  = null;
                    //Copy from default here
                    addr             = (Address)this.Address.Cache.Insert(addr);
                    row.DefAddressID = addr.AddressID;
                    this.Contact.View.RequestRefresh();
                }
            }
        }