. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace Espo\Modules\Crm\Entities; use Espo\Core\Field\Address; use Espo\Core\Field\EmailAddressGroup; use Espo\Core\Field\Link; use Espo\Core\Field\LinkMultiple; use Espo\Core\Field\PhoneNumberGroup; use Espo\Core\ORM\Entity; class Account extends Entity { public const ENTITY_TYPE = 'Account'; public const TYPE_CUSTOMER = 'Customer'; public const TYPE_PARTNER = 'Partner'; public const TYPE_RESELLER = 'Reseller'; public function getName(): ?string { return $this->get('name'); } public function setName(?string $name): self { $this->set('name', $name); return $this; } public function getEmailAddress(): ?string { return $this->get('emailAddress'); } public function getEmailAddressGroup(): EmailAddressGroup { /** @var EmailAddressGroup */ return $this->getValueObject('emailAddress'); } public function getPhoneNumberGroup(): PhoneNumberGroup { /** @var PhoneNumberGroup */ return $this->getValueObject('phoneNumber'); } public function setEmailAddressGroup(EmailAddressGroup $group): self { $this->setValueObject('emailAddress', $group); return $this; } public function setPhoneNumberGroup(PhoneNumberGroup $group): self { $this->setValueObject('phoneNumber', $group); return $this; } public function getBillingAddress(): Address { /** @var Address */ return $this->getValueObject('billingAddress'); } public function setBillingAddress(Address $address): self { $this->setValueObject('billingAddress', $address); return $this; } public function getShippingAddress(): Address { /** @var Address */ return $this->getValueObject('shippingAddress'); } public function setShippingAddress(Address $address): self { $this->setValueObject('shippingAddress', $address); return $this; } public function getAssignedUser(): ?Link { /** @var ?Link */ return $this->getValueObject('assignedUser'); } public function getTeams(): LinkMultiple { /** @var LinkMultiple */ return $this->getValueObject('teams'); } }