public IntacctContact(XElement data) { this.SetPropertyValue(x => Name, data); this.SetPropertyValue(x => PrintAs, data, isOptional: true); this.SetPropertyValue(x => Prefix, data, isOptional: true); this.SetPropertyValue(x => FirstName, data, isOptional: true); this.SetPropertyValue(x => LastName, data, isOptional: true); this.SetPropertyValue(x => Initial, data, isOptional: true); this.SetPropertyValue(x => Phone1, data, isOptional: true); this.SetPropertyValue(x => Phone2, data, isOptional: true); this.SetPropertyValue(x => CellPhone, data, isOptional: true); this.SetPropertyValue(x => Pager, data, isOptional: true); this.SetPropertyValue(x => Fax, data, isOptional: true); this.SetPropertyValue(x => Email1, data, isOptional: true); this.SetPropertyValue(x => Email2, data, isOptional: true); this.SetPropertyValue(x => Url1, data, isOptional: true); this.SetPropertyValue(x => Url2, data, isOptional: true); this.SetPropertyValue(x => Status, data, isOptional: true); var mailAddressElement = data.Element("mailaddress"); if (mailAddressElement != null) { MailAddress = new IntacctAddress(mailAddressElement); } }