<?php

namespace SelectSiparis;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for SaveBekleyenAramaRequest StructType
 * Meta information extracted from the WSDL
 * - nillable: true
 * - type: tns:SaveBekleyenAramaRequest
 * @subpackage Structs
 */
class SaveBekleyenAramaRequest extends AbstractStructBase
{
    /**
     * The AranacakTelefonNo
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $AranacakTelefonNo;
    /**
     * The AranacakUyeAdi
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $AranacakUyeAdi;
    /**
     * The AranacakUyeId
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var int
     */
    public $AranacakUyeId;
    /**
     * The Durum
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $Durum;
    /**
     * The IadeTutar
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var float
     */
    public $IadeTutar;
    /**
     * The Id
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var int
     */
    public $Id;
    /**
     * The OdemeTipi
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var int
     */
    public $OdemeTipi;
    /**
     * The SiparisId
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var int
     */
    public $SiparisId;
    /**
     * The SiparisNo
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $SiparisNo;
    /**
     * The SiparisTeslimatTelefon
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $SiparisTeslimatTelefon;
    /**
     * The SiparisToplamTutar
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var float
     */
    public $SiparisToplamTutar;
    /**
     * The Tip
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $Tip;
    /**
     * Constructor method for SaveBekleyenAramaRequest
     * @uses SaveBekleyenAramaRequest::setAranacakTelefonNo()
     * @uses SaveBekleyenAramaRequest::setAranacakUyeAdi()
     * @uses SaveBekleyenAramaRequest::setAranacakUyeId()
     * @uses SaveBekleyenAramaRequest::setDurum()
     * @uses SaveBekleyenAramaRequest::setIadeTutar()
     * @uses SaveBekleyenAramaRequest::setId()
     * @uses SaveBekleyenAramaRequest::setOdemeTipi()
     * @uses SaveBekleyenAramaRequest::setSiparisId()
     * @uses SaveBekleyenAramaRequest::setSiparisNo()
     * @uses SaveBekleyenAramaRequest::setSiparisTeslimatTelefon()
     * @uses SaveBekleyenAramaRequest::setSiparisToplamTutar()
     * @uses SaveBekleyenAramaRequest::setTip()
     * @param string $aranacakTelefonNo
     * @param string $aranacakUyeAdi
     * @param int $aranacakUyeId
     * @param string $durum
     * @param float $iadeTutar
     * @param int $id
     * @param int $odemeTipi
     * @param int $siparisId
     * @param string $siparisNo
     * @param string $siparisTeslimatTelefon
     * @param float $siparisToplamTutar
     * @param string $tip
     */
    public function __construct($aranacakTelefonNo = null, $aranacakUyeAdi = null, $aranacakUyeId = null, $durum = null, $iadeTutar = null, $id = null, $odemeTipi = null, $siparisId = null, $siparisNo = null, $siparisTeslimatTelefon = null, $siparisToplamTutar = null, $tip = null)
    {
        $this
            ->setAranacakTelefonNo($aranacakTelefonNo)
            ->setAranacakUyeAdi($aranacakUyeAdi)
            ->setAranacakUyeId($aranacakUyeId)
            ->setDurum($durum)
            ->setIadeTutar($iadeTutar)
            ->setId($id)
            ->setOdemeTipi($odemeTipi)
            ->setSiparisId($siparisId)
            ->setSiparisNo($siparisNo)
            ->setSiparisTeslimatTelefon($siparisTeslimatTelefon)
            ->setSiparisToplamTutar($siparisToplamTutar)
            ->setTip($tip);
    }
    /**
     * Get AranacakTelefonNo 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 getAranacakTelefonNo()
    {
        return isset($this->AranacakTelefonNo) ? $this->AranacakTelefonNo : null;
    }
    /**
     * Set AranacakTelefonNo 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 $aranacakTelefonNo
     * @return \SelectSiparis\SaveBekleyenAramaRequest
     */
    public function setAranacakTelefonNo($aranacakTelefonNo = null)
    {
        // validation for constraint: string
        if (!is_null($aranacakTelefonNo) && !is_string($aranacakTelefonNo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($aranacakTelefonNo, true), gettype($aranacakTelefonNo)), __LINE__);
        }
        if (is_null($aranacakTelefonNo) || (is_array($aranacakTelefonNo) && empty($aranacakTelefonNo))) {
            unset($this->AranacakTelefonNo);
        } else {
            $this->AranacakTelefonNo = $aranacakTelefonNo;
        }
        return $this;
    }
    /**
     * Get AranacakUyeAdi 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 getAranacakUyeAdi()
    {
        return isset($this->AranacakUyeAdi) ? $this->AranacakUyeAdi : null;
    }
    /**
     * Set AranacakUyeAdi 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 $aranacakUyeAdi
     * @return \SelectSiparis\SaveBekleyenAramaRequest
     */
    public function setAranacakUyeAdi($aranacakUyeAdi = null)
    {
        // validation for constraint: string
        if (!is_null($aranacakUyeAdi) && !is_string($aranacakUyeAdi)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($aranacakUyeAdi, true), gettype($aranacakUyeAdi)), __LINE__);
        }
        if (is_null($aranacakUyeAdi) || (is_array($aranacakUyeAdi) && empty($aranacakUyeAdi))) {
            unset($this->AranacakUyeAdi);
        } else {
            $this->AranacakUyeAdi = $aranacakUyeAdi;
        }
        return $this;
    }
    /**
     * Get AranacakUyeId value
     * @return int|null
     */
    public function getAranacakUyeId()
    {
        return $this->AranacakUyeId;
    }
    /**
     * Set AranacakUyeId value
     * @param int $aranacakUyeId
     * @return \SelectSiparis\SaveBekleyenAramaRequest
     */
    public function setAranacakUyeId($aranacakUyeId = null)
    {
        // validation for constraint: int
        if (!is_null($aranacakUyeId) && !(is_int($aranacakUyeId) || ctype_digit($aranacakUyeId))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($aranacakUyeId, true), gettype($aranacakUyeId)), __LINE__);
        }
        $this->AranacakUyeId = $aranacakUyeId;
        return $this;
    }
    /**
     * Get Durum value
     * @return string|null
     */
    public function getDurum()
    {
        return $this->Durum;
    }
    /**
     * Set Durum value
     * @uses \SelectSiparis\WebMusteriHizmetleriDurum::valueIsValid()
     * @uses \SelectSiparis\WebMusteriHizmetleriDurum::getValidValues()
     * @throws \InvalidArgumentException
     * @param string $durum
     * @return \SelectSiparis\SaveBekleyenAramaRequest
     */
    public function setDurum($durum = null)
    {
        // validation for constraint: enumeration
        if (!\SelectSiparis\WebMusteriHizmetleriDurum::valueIsValid($durum)) {
            throw new \InvalidArgumentException(sprintf('Invalid value(s) %s, please use one of: %s from enumeration class \SelectSiparis\WebMusteriHizmetleriDurum', is_array($durum) ? implode(', ', $durum) : var_export($durum, true), implode(', ', \SelectSiparis\WebMusteriHizmetleriDurum::getValidValues())), __LINE__);
        }
        $this->Durum = $durum;
        return $this;
    }
    /**
     * Get IadeTutar value
     * @return float|null
     */
    public function getIadeTutar()
    {
        return $this->IadeTutar;
    }
    /**
     * Set IadeTutar value
     * @param float $iadeTutar
     * @return \SelectSiparis\SaveBekleyenAramaRequest
     */
    public function setIadeTutar($iadeTutar = null)
    {
        // validation for constraint: float
        if (!is_null($iadeTutar) && !(is_float($iadeTutar) || is_numeric($iadeTutar))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($iadeTutar, true), gettype($iadeTutar)), __LINE__);
        }
        $this->IadeTutar = $iadeTutar;
        return $this;
    }
    /**
     * Get Id value
     * @return int|null
     */
    public function getId()
    {
        return $this->Id;
    }
    /**
     * Set Id value
     * @param int $id
     * @return \SelectSiparis\SaveBekleyenAramaRequest
     */
    public function setId($id = null)
    {
        // validation for constraint: int
        if (!is_null($id) && !(is_int($id) || ctype_digit($id))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($id, true), gettype($id)), __LINE__);
        }
        $this->Id = $id;
        return $this;
    }
    /**
     * Get OdemeTipi value
     * @return int|null
     */
    public function getOdemeTipi()
    {
        return $this->OdemeTipi;
    }
    /**
     * Set OdemeTipi value
     * @param int $odemeTipi
     * @return \SelectSiparis\SaveBekleyenAramaRequest
     */
    public function setOdemeTipi($odemeTipi = null)
    {
        // validation for constraint: int
        if (!is_null($odemeTipi) && !(is_int($odemeTipi) || ctype_digit($odemeTipi))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($odemeTipi, true), gettype($odemeTipi)), __LINE__);
        }
        $this->OdemeTipi = $odemeTipi;
        return $this;
    }
    /**
     * Get SiparisId value
     * @return int|null
     */
    public function getSiparisId()
    {
        return $this->SiparisId;
    }
    /**
     * Set SiparisId value
     * @param int $siparisId
     * @return \SelectSiparis\SaveBekleyenAramaRequest
     */
    public function setSiparisId($siparisId = null)
    {
        // validation for constraint: int
        if (!is_null($siparisId) && !(is_int($siparisId) || ctype_digit($siparisId))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($siparisId, true), gettype($siparisId)), __LINE__);
        }
        $this->SiparisId = $siparisId;
        return $this;
    }
    /**
     * Get SiparisNo 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 getSiparisNo()
    {
        return isset($this->SiparisNo) ? $this->SiparisNo : null;
    }
    /**
     * Set SiparisNo 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 $siparisNo
     * @return \SelectSiparis\SaveBekleyenAramaRequest
     */
    public function setSiparisNo($siparisNo = null)
    {
        // validation for constraint: string
        if (!is_null($siparisNo) && !is_string($siparisNo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($siparisNo, true), gettype($siparisNo)), __LINE__);
        }
        if (is_null($siparisNo) || (is_array($siparisNo) && empty($siparisNo))) {
            unset($this->SiparisNo);
        } else {
            $this->SiparisNo = $siparisNo;
        }
        return $this;
    }
    /**
     * Get SiparisTeslimatTelefon 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 getSiparisTeslimatTelefon()
    {
        return isset($this->SiparisTeslimatTelefon) ? $this->SiparisTeslimatTelefon : null;
    }
    /**
     * Set SiparisTeslimatTelefon 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 $siparisTeslimatTelefon
     * @return \SelectSiparis\SaveBekleyenAramaRequest
     */
    public function setSiparisTeslimatTelefon($siparisTeslimatTelefon = null)
    {
        // validation for constraint: string
        if (!is_null($siparisTeslimatTelefon) && !is_string($siparisTeslimatTelefon)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($siparisTeslimatTelefon, true), gettype($siparisTeslimatTelefon)), __LINE__);
        }
        if (is_null($siparisTeslimatTelefon) || (is_array($siparisTeslimatTelefon) && empty($siparisTeslimatTelefon))) {
            unset($this->SiparisTeslimatTelefon);
        } else {
            $this->SiparisTeslimatTelefon = $siparisTeslimatTelefon;
        }
        return $this;
    }
    /**
     * Get SiparisToplamTutar value
     * @return float|null
     */
    public function getSiparisToplamTutar()
    {
        return $this->SiparisToplamTutar;
    }
    /**
     * Set SiparisToplamTutar value
     * @param float $siparisToplamTutar
     * @return \SelectSiparis\SaveBekleyenAramaRequest
     */
    public function setSiparisToplamTutar($siparisToplamTutar = null)
    {
        // validation for constraint: float
        if (!is_null($siparisToplamTutar) && !(is_float($siparisToplamTutar) || is_numeric($siparisToplamTutar))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($siparisToplamTutar, true), gettype($siparisToplamTutar)), __LINE__);
        }
        $this->SiparisToplamTutar = $siparisToplamTutar;
        return $this;
    }
    /**
     * Get Tip value
     * @return string|null
     */
    public function getTip()
    {
        return $this->Tip;
    }
    /**
     * Set Tip value
     * @uses \SelectSiparis\WebMusteriHizmetleriTip::valueIsValid()
     * @uses \SelectSiparis\WebMusteriHizmetleriTip::getValidValues()
     * @throws \InvalidArgumentException
     * @param string $tip
     * @return \SelectSiparis\SaveBekleyenAramaRequest
     */
    public function setTip($tip = null)
    {
        // validation for constraint: enumeration
        if (!\SelectSiparis\WebMusteriHizmetleriTip::valueIsValid($tip)) {
            throw new \InvalidArgumentException(sprintf('Invalid value(s) %s, please use one of: %s from enumeration class \SelectSiparis\WebMusteriHizmetleriTip', is_array($tip) ? implode(', ', $tip) : var_export($tip, true), implode(', ', \SelectSiparis\WebMusteriHizmetleriTip::getValidValues())), __LINE__);
        }
        $this->Tip = $tip;
        return $this;
    }
}
