<?php

namespace PortalPeople\netsuite\models;

/**
 * NetSuite Customer Record
 * 
 * @package PortalPeople\netsuite\models
 */
class Customer extends NetSuiteRecord
{
    /**
     * @inheritdoc
     */
    public static function getRecordType()
    {
        return 'customer';
    }
    
    /**
     * Get customer entity ID
     * 
     * @return string|null
     */
    public function getEntityId()
    {
        return $this->getField('entityId');
    }
    
    /**
     * Set customer entity ID
     * 
     * @param string $entityId
     */
    public function setEntityId($entityId)
    {
        $this->setField('entityId', $entityId);
    }
    
    /**
     * Get company name
     * 
     * @return string|null
     */
    public function getCompanyName()
    {
        return $this->getField('companyName');
    }
    
    /**
     * Set company name
     * 
     * @param string $companyName
     */
    public function setCompanyName($companyName)
    {
        $this->setField('companyName', $companyName);
    }
    
    /**
     * Get customer email
     * 
     * @return string|null
     */
    public function getEmail()
    {
        return $this->getField('email');
    }
    
    /**
     * Set customer email
     * 
     * @param string $email
     */
    public function setEmail($email)
    {
        $this->setField('email', $email);
    }
    
    /**
     * Get customer phone
     * 
     * @return string|null
     */
    public function getPhone()
    {
        return $this->getField('phone');
    }
    
    /**
     * Set customer phone
     * 
     * @param string $phone
     */
    public function setPhone($phone)
    {
        $this->setField('phone', $phone);
    }
    
    /**
     * Get customer subsidiary
     * 
     * @return array|null
     */
    public function getSubsidiary()
    {
        return $this->getField('subsidiary');
    }
    
    /**
     * Set customer subsidiary
     * 
     * @param int $subsidiaryId
     */
    public function setSubsidiary($subsidiaryId)
    {
        $this->setField('subsidiary', ['internalId' => $subsidiaryId]);
    }
    
    /**
     * Get customer category
     * 
     * @return array|null
     */
    public function getCategory()
    {
        return $this->getField('category');
    }
    
    /**
     * Set customer category
     * 
     * @param int $categoryId
     */
    public function setCategory($categoryId)
    {
        $this->setField('category', ['internalId' => $categoryId]);
    }
    
    /**
     * Get customer status
     * 
     * @return array|null
     */
    public function getEntityStatus()
    {
        return $this->getField('entityStatus');
    }
    
    /**
     * Set customer status
     * 
     * @param int $statusId
     */
    public function setEntityStatus($statusId)
    {
        $this->setField('entityStatus', ['internalId' => $statusId]);
    }
}