public static bool CreateBusAccount(BusAccount record)
        {
            if (ValidateData(record))
            {
                try
                {
                    BusinessAccountMaint accountMaint = PXGraph.CreateInstance <BusinessAccountMaint>();
                    BAccount             account      = new BAccount
                    {
                        AcctCD   = record.CompanyName,
                        AcctName = record.CompanyName,
                        Type     = "PR",
                    };
                    account = accountMaint.BAccount.Insert(account);
                    Contact defContact = PXCache <Contact> .CreateCopy(PXSelectBase <Contact, PXSelect <Contact, Where <Contact.contactID, Equal <Current <BAccount.defContactID> > > > .Config> .SelectSingleBound(accountMaint, new object[]
                    {
                        account
                    }, Array.Empty <object>()));

                    Guid?defContactNoteID = defContact.NoteID;
                    defContact.ContactType     = "AR";
                    defContact.FullName        = record.CompanyName;
                    defContact.ContactID       = account.DefContactID;
                    defContact.BAccountID      = account.BAccountID;
                    defContact.DuplicateStatus = "NV";
                    defContact.DuplicateFound  = new bool?(false);
                    defContact.WorkgroupID     = null;
                    defContact.OwnerID         = null;
                    defContact.ClassID         = null;
                    defContact.EMail           = record.Email;
                    defContact.FirstName       = record.FirstName;
                    defContact.LastName        = record.LastName;
                    defContact.Phone1          = record.Phone;
                    defContact.NoteID          = defContactNoteID;
                    defContact = accountMaint.DefContact.Update(defContact);
                    Address defAddress = PXSelectBase <Address, PXSelect <Address, Where <Address.addressID, Equal <Required <Contact.defAddressID> > > > .Config> .Select(accountMaint, new object[]
                    {
                        account.DefAddressID
                    });

                    if (defAddress == null)
                    {
                        return(false);
                    }
                    defAddress.AddressLine1 = record.BillingAddressLine1;
                    defAddress.AddressLine2 = record.BillingAddressLine2;
                    defAddress.City         = record.BillingCity;
                    defAddress.CountryID    = record.BillingCountry;
                    defAddress.State        = record.BillingState;
                    defAddress.PostalCode   = record.BillingZip;
                    accountMaint.AddressCurrent.Cache.Clear();
                    defAddress           = accountMaint.AddressCurrent.Update(defAddress);
                    account.DefAddressID = defAddress.AddressID;
                    accountMaint.BAccount.Update(account);
                    accountMaint.Save.Press();
                    return(true);
                }
                catch (Exception exc)
                {
                    PXTrace.WriteError(exc);
                }
            }
            return(false);
        }
 public static bool ValidateData(BusAccount record)
 {
     return(true);
 }