<?php


namespace Shop\Application\Office\CustomerRegistration;

/**
 * Class CustomerRequest
 * @package Shop\Presentation\UseCases\SecurePolicy
 */
class CustomerRequest
{
    /**
     * @var int
     */
    protected $cityId;
    /**
     * @var string
     */
    protected $email;
    /**
     * @var int
     */
    protected $groupId;
    /**
     * @var string
     */
    protected $name;
    /**
     * @var string|null
     */
    protected $phone;
    /**
     * @var int
     */
    protected $managerId;

    /**
     * @var string|null
     */
    protected $passwordHash;

    /**
     * @var string|null
     */
    protected $password;

    /**
     * @var string|null
     */
    protected $inn;

    /**
     * @var string|null
     */
    protected $ogrn;

    protected $company = '';

    public function getCompany(): string
    {
        return $this->company;
    }

    public function setCompany(string $company): CustomerRequest
    {
        $this->company = $company;
        return $this;
    }

    /**
     * @return string|null
     */
    public function getInn(): ?string
    {
        return $this->inn;
    }

    /**
     * @param string|null $inn
     * @return CustomerRequest
     */
    public function setInn(?string $inn): CustomerRequest
    {
        $this->inn = $inn;
        return $this;
    }

    /**
     * @return string|null
     */
    public function getOgrn(): ?string
    {
        return $this->ogrn;
    }

    /**
     * @param string|null $ogrn
     * @return CustomerRequest
     */
    public function setOgrn(?string $ogrn): CustomerRequest
    {
        $this->ogrn = $ogrn;
        return $this;
    }

    /**
     * @return string|null
     */
    public function getPassword(): ?string
    {
        return $this->password;
    }

    /**
     * @param string|null $password
     * @return CustomerRequest
     */
    public function setPassword(?string $password): CustomerRequest
    {
        $this->password = $password;
        return $this;
    }


    /**
     * @return string|null
     */
    public function getPasswordHash(): ?string
    {
        return $this->passwordHash;
    }

    /**
     * @param string|null $passwordHash
     * @return CustomerRequest
     */
    public function setPasswordHash(?string $passwordHash): CustomerRequest
    {
        $this->passwordHash = $passwordHash;
        return $this;
    }


    /**
     * @return int
     */
    public function getCityId(): int
    {
        return $this->cityId;
    }

    /**
     * @param int $cityId
     * @return CustomerRequest
     */
    public function setCityId(int $cityId): CustomerRequest
    {
        $this->cityId = $cityId;
        return $this;
    }

    /**
     * @return string
     */
    public function getEmail(): string
    {
        return $this->email;
    }

    /**
     * @param string $email
     * @return CustomerRequest
     */
    public function setEmail(string $email): CustomerRequest
    {
        $this->email = $email;
        return $this;
    }

    /**
     * @return int
     */
    public function getGroupId(): int
    {
        return $this->groupId;
    }

    /**
     * @param int $groupId
     * @return CustomerRequest
     */
    public function setGroupId(int $groupId): CustomerRequest
    {
        $this->groupId = $groupId;
        return $this;
    }

    /**
     * @return string
     */
    public function getName(): string
    {
        return $this->name;
    }

    /**
     * @param string $name
     * @return CustomerRequest
     */
    public function setName(string $name): CustomerRequest
    {
        $this->name = $name;
        return $this;
    }

    /**
     * @return string|null
     */
    public function getPhone(): ?string
    {
        return $this->phone;
    }

    /**
     * @param string|null $phone
     * @return CustomerRequest
     */
    public function setPhone(?string $phone): CustomerRequest
    {
        $this->phone = $phone;
        return $this;
    }

    /**
     * @return int
     */
    public function getManagerId(): ?int
    {
        return $this->managerId;
    }

    /**
     * @param int $managerId
     * @return CustomerRequest
     */
    public function setManagerId(int $managerId): CustomerRequest
    {
        $this->managerId = $managerId;
        return $this;
    }


}