<?php

namespace SelectSiparis;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for WebFaturaAdres StructType
 * Meta information extracted from the WSDL
 * - nillable: true
 * - type: tns:WebFaturaAdres
 * @subpackage Structs
 */
class WebFaturaAdres extends AbstractStructBase
{
    /**
     * The Adres
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Adres;
    /**
     * The AdresTarifi
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $AdresTarifi;
    /**
     * The AliciTelefon
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $AliciTelefon;
    /**
     * The EntegrasyonId
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $EntegrasyonId;
    /**
     * The FirmaAdi
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $FirmaAdi;
    /**
     * The Il
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Il;
    /**
     * The Ilce
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Ilce;
    /**
     * The Mahalle
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Mahalle;
    /**
     * The PostaKodu
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $PostaKodu;
    /**
     * The Semt
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Semt;
    /**
     * The Ulke
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Ulke;
    /**
     * The VergiDairesi
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $VergiDairesi;
    /**
     * The VergiNo
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $VergiNo;
    /**
     * The isKurumsal
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $isKurumsal;
    /**
     * Constructor method for WebFaturaAdres
     * @uses WebFaturaAdres::setAdres()
     * @uses WebFaturaAdres::setAdresTarifi()
     * @uses WebFaturaAdres::setAliciTelefon()
     * @uses WebFaturaAdres::setEntegrasyonId()
     * @uses WebFaturaAdres::setFirmaAdi()
     * @uses WebFaturaAdres::setIl()
     * @uses WebFaturaAdres::setIlce()
     * @uses WebFaturaAdres::setMahalle()
     * @uses WebFaturaAdres::setPostaKodu()
     * @uses WebFaturaAdres::setSemt()
     * @uses WebFaturaAdres::setUlke()
     * @uses WebFaturaAdres::setVergiDairesi()
     * @uses WebFaturaAdres::setVergiNo()
     * @uses WebFaturaAdres::setIsKurumsal()
     * @param string $adres
     * @param string $adresTarifi
     * @param string $aliciTelefon
     * @param string $entegrasyonId
     * @param string $firmaAdi
     * @param string $il
     * @param string $ilce
     * @param string $mahalle
     * @param string $postaKodu
     * @param string $semt
     * @param string $ulke
     * @param string $vergiDairesi
     * @param string $vergiNo
     * @param bool $isKurumsal
     */
    public function __construct($adres = null, $adresTarifi = null, $aliciTelefon = null, $entegrasyonId = null, $firmaAdi = null, $il = null, $ilce = null, $mahalle = null, $postaKodu = null, $semt = null, $ulke = null, $vergiDairesi = null, $vergiNo = null, $isKurumsal = null)
    {
        $this
            ->setAdres($adres)
            ->setAdresTarifi($adresTarifi)
            ->setAliciTelefon($aliciTelefon)
            ->setEntegrasyonId($entegrasyonId)
            ->setFirmaAdi($firmaAdi)
            ->setIl($il)
            ->setIlce($ilce)
            ->setMahalle($mahalle)
            ->setPostaKodu($postaKodu)
            ->setSemt($semt)
            ->setUlke($ulke)
            ->setVergiDairesi($vergiDairesi)
            ->setVergiNo($vergiNo)
            ->setIsKurumsal($isKurumsal);
    }
    /**
     * Get Adres value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getAdres()
    {
        return isset($this->Adres) ? $this->Adres : null;
    }
    /**
     * Set Adres value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $adres
     * @return \SelectSiparis\WebFaturaAdres
     */
    public function setAdres($adres = null)
    {
        // validation for constraint: string
        if (!is_null($adres) && !is_string($adres)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($adres, true), gettype($adres)), __LINE__);
        }
        if (is_null($adres) || (is_array($adres) && empty($adres))) {
            unset($this->Adres);
        } else {
            $this->Adres = $adres;
        }
        return $this;
    }
    /**
     * Get AdresTarifi value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getAdresTarifi()
    {
        return isset($this->AdresTarifi) ? $this->AdresTarifi : null;
    }
    /**
     * Set AdresTarifi value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $adresTarifi
     * @return \SelectSiparis\WebFaturaAdres
     */
    public function setAdresTarifi($adresTarifi = null)
    {
        // validation for constraint: string
        if (!is_null($adresTarifi) && !is_string($adresTarifi)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($adresTarifi, true), gettype($adresTarifi)), __LINE__);
        }
        if (is_null($adresTarifi) || (is_array($adresTarifi) && empty($adresTarifi))) {
            unset($this->AdresTarifi);
        } else {
            $this->AdresTarifi = $adresTarifi;
        }
        return $this;
    }
    /**
     * Get AliciTelefon value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getAliciTelefon()
    {
        return isset($this->AliciTelefon) ? $this->AliciTelefon : null;
    }
    /**
     * Set AliciTelefon value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $aliciTelefon
     * @return \SelectSiparis\WebFaturaAdres
     */
    public function setAliciTelefon($aliciTelefon = null)
    {
        // validation for constraint: string
        if (!is_null($aliciTelefon) && !is_string($aliciTelefon)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($aliciTelefon, true), gettype($aliciTelefon)), __LINE__);
        }
        if (is_null($aliciTelefon) || (is_array($aliciTelefon) && empty($aliciTelefon))) {
            unset($this->AliciTelefon);
        } else {
            $this->AliciTelefon = $aliciTelefon;
        }
        return $this;
    }
    /**
     * Get EntegrasyonId value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getEntegrasyonId()
    {
        return isset($this->EntegrasyonId) ? $this->EntegrasyonId : null;
    }
    /**
     * Set EntegrasyonId value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $entegrasyonId
     * @return \SelectSiparis\WebFaturaAdres
     */
    public function setEntegrasyonId($entegrasyonId = null)
    {
        // validation for constraint: string
        if (!is_null($entegrasyonId) && !is_string($entegrasyonId)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($entegrasyonId, true), gettype($entegrasyonId)), __LINE__);
        }
        if (is_null($entegrasyonId) || (is_array($entegrasyonId) && empty($entegrasyonId))) {
            unset($this->EntegrasyonId);
        } else {
            $this->EntegrasyonId = $entegrasyonId;
        }
        return $this;
    }
    /**
     * Get FirmaAdi value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getFirmaAdi()
    {
        return isset($this->FirmaAdi) ? $this->FirmaAdi : null;
    }
    /**
     * Set FirmaAdi value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $firmaAdi
     * @return \SelectSiparis\WebFaturaAdres
     */
    public function setFirmaAdi($firmaAdi = null)
    {
        // validation for constraint: string
        if (!is_null($firmaAdi) && !is_string($firmaAdi)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($firmaAdi, true), gettype($firmaAdi)), __LINE__);
        }
        if (is_null($firmaAdi) || (is_array($firmaAdi) && empty($firmaAdi))) {
            unset($this->FirmaAdi);
        } else {
            $this->FirmaAdi = $firmaAdi;
        }
        return $this;
    }
    /**
     * Get Il value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getIl()
    {
        return isset($this->Il) ? $this->Il : null;
    }
    /**
     * Set Il value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $il
     * @return \SelectSiparis\WebFaturaAdres
     */
    public function setIl($il = null)
    {
        // validation for constraint: string
        if (!is_null($il) && !is_string($il)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($il, true), gettype($il)), __LINE__);
        }
        if (is_null($il) || (is_array($il) && empty($il))) {
            unset($this->Il);
        } else {
            $this->Il = $il;
        }
        return $this;
    }
    /**
     * Get Ilce value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getIlce()
    {
        return isset($this->Ilce) ? $this->Ilce : null;
    }
    /**
     * Set Ilce value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $ilce
     * @return \SelectSiparis\WebFaturaAdres
     */
    public function setIlce($ilce = null)
    {
        // validation for constraint: string
        if (!is_null($ilce) && !is_string($ilce)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($ilce, true), gettype($ilce)), __LINE__);
        }
        if (is_null($ilce) || (is_array($ilce) && empty($ilce))) {
            unset($this->Ilce);
        } else {
            $this->Ilce = $ilce;
        }
        return $this;
    }
    /**
     * Get Mahalle value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getMahalle()
    {
        return isset($this->Mahalle) ? $this->Mahalle : null;
    }
    /**
     * Set Mahalle value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $mahalle
     * @return \SelectSiparis\WebFaturaAdres
     */
    public function setMahalle($mahalle = null)
    {
        // validation for constraint: string
        if (!is_null($mahalle) && !is_string($mahalle)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($mahalle, true), gettype($mahalle)), __LINE__);
        }
        if (is_null($mahalle) || (is_array($mahalle) && empty($mahalle))) {
            unset($this->Mahalle);
        } else {
            $this->Mahalle = $mahalle;
        }
        return $this;
    }
    /**
     * Get PostaKodu value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getPostaKodu()
    {
        return isset($this->PostaKodu) ? $this->PostaKodu : null;
    }
    /**
     * Set PostaKodu value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $postaKodu
     * @return \SelectSiparis\WebFaturaAdres
     */
    public function setPostaKodu($postaKodu = null)
    {
        // validation for constraint: string
        if (!is_null($postaKodu) && !is_string($postaKodu)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($postaKodu, true), gettype($postaKodu)), __LINE__);
        }
        if (is_null($postaKodu) || (is_array($postaKodu) && empty($postaKodu))) {
            unset($this->PostaKodu);
        } else {
            $this->PostaKodu = $postaKodu;
        }
        return $this;
    }
    /**
     * Get Semt value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getSemt()
    {
        return isset($this->Semt) ? $this->Semt : null;
    }
    /**
     * Set Semt value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $semt
     * @return \SelectSiparis\WebFaturaAdres
     */
    public function setSemt($semt = null)
    {
        // validation for constraint: string
        if (!is_null($semt) && !is_string($semt)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($semt, true), gettype($semt)), __LINE__);
        }
        if (is_null($semt) || (is_array($semt) && empty($semt))) {
            unset($this->Semt);
        } else {
            $this->Semt = $semt;
        }
        return $this;
    }
    /**
     * Get Ulke value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getUlke()
    {
        return isset($this->Ulke) ? $this->Ulke : null;
    }
    /**
     * Set Ulke value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $ulke
     * @return \SelectSiparis\WebFaturaAdres
     */
    public function setUlke($ulke = null)
    {
        // validation for constraint: string
        if (!is_null($ulke) && !is_string($ulke)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($ulke, true), gettype($ulke)), __LINE__);
        }
        if (is_null($ulke) || (is_array($ulke) && empty($ulke))) {
            unset($this->Ulke);
        } else {
            $this->Ulke = $ulke;
        }
        return $this;
    }
    /**
     * Get VergiDairesi value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getVergiDairesi()
    {
        return isset($this->VergiDairesi) ? $this->VergiDairesi : null;
    }
    /**
     * Set VergiDairesi value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $vergiDairesi
     * @return \SelectSiparis\WebFaturaAdres
     */
    public function setVergiDairesi($vergiDairesi = null)
    {
        // validation for constraint: string
        if (!is_null($vergiDairesi) && !is_string($vergiDairesi)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($vergiDairesi, true), gettype($vergiDairesi)), __LINE__);
        }
        if (is_null($vergiDairesi) || (is_array($vergiDairesi) && empty($vergiDairesi))) {
            unset($this->VergiDairesi);
        } else {
            $this->VergiDairesi = $vergiDairesi;
        }
        return $this;
    }
    /**
     * Get VergiNo value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getVergiNo()
    {
        return isset($this->VergiNo) ? $this->VergiNo : null;
    }
    /**
     * Set VergiNo value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $vergiNo
     * @return \SelectSiparis\WebFaturaAdres
     */
    public function setVergiNo($vergiNo = null)
    {
        // validation for constraint: string
        if (!is_null($vergiNo) && !is_string($vergiNo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($vergiNo, true), gettype($vergiNo)), __LINE__);
        }
        if (is_null($vergiNo) || (is_array($vergiNo) && empty($vergiNo))) {
            unset($this->VergiNo);
        } else {
            $this->VergiNo = $vergiNo;
        }
        return $this;
    }
    /**
     * Get isKurumsal value
     * @return bool|null
     */
    public function getIsKurumsal()
    {
        return $this->isKurumsal;
    }
    /**
     * Set isKurumsal value
     * @param bool $isKurumsal
     * @return \SelectSiparis\WebFaturaAdres
     */
    public function setIsKurumsal($isKurumsal = null)
    {
        // validation for constraint: boolean
        if (!is_null($isKurumsal) && !is_bool($isKurumsal)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($isKurumsal, true), gettype($isKurumsal)), __LINE__);
        }
        $this->isKurumsal = $isKurumsal;
        return $this;
    }
}
