<?php

namespace SelectSiparis;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for SelectEFaturaResponse StructType
 * Meta information extracted from the WSDL
 * - nillable: true
 * - type: tns:SelectEFaturaResponse
 * @subpackage Structs
 */
class SelectEFaturaResponse extends WebServisResponse
{
    /**
     * The EFaturaList
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \SelectSiparis\ArrayOfEFatura
     */
    public $EFaturaList;
    /**
     * The SelectEFaturaResult
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \SelectSiparis\SelectEFaturaResponse
     */
    public $SelectEFaturaResult;
    /**
     * Constructor method for SelectEFaturaResponse
     * @uses SelectEFaturaResponse::setEFaturaList()
     * @uses SelectEFaturaResponse::setSelectEFaturaResult()
     * @param \SelectSiparis\ArrayOfEFatura $eFaturaList
     * @param \SelectSiparis\SelectEFaturaResponse $selectEFaturaResult
     */
    public function __construct(\SelectSiparis\ArrayOfEFatura $eFaturaList = null, \SelectSiparis\SelectEFaturaResponse $selectEFaturaResult = null)
    {
        $this
            ->setEFaturaList($eFaturaList)
            ->setSelectEFaturaResult($selectEFaturaResult);
    }
    /**
     * Get EFaturaList 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 \SelectSiparis\ArrayOfEFatura|null
     */
    public function getEFaturaList()
    {
        return isset($this->EFaturaList) ? $this->EFaturaList : null;
    }
    /**
     * Set EFaturaList 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 \SelectSiparis\ArrayOfEFatura $eFaturaList
     * @return \SelectSiparis\SelectEFaturaResponse
     */
    public function setEFaturaList(\SelectSiparis\ArrayOfEFatura $eFaturaList = null)
    {
        if (is_null($eFaturaList) || (is_array($eFaturaList) && empty($eFaturaList))) {
            unset($this->EFaturaList);
        } else {
            $this->EFaturaList = $eFaturaList;
        }
        return $this;
    }
    /**
     * Get SelectEFaturaResult 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 \SelectSiparis\SelectEFaturaResponse|null
     */
    public function getSelectEFaturaResult()
    {
        return isset($this->SelectEFaturaResult) ? $this->SelectEFaturaResult : null;
    }
    /**
     * Set SelectEFaturaResult 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 \SelectSiparis\SelectEFaturaResponse $selectEFaturaResult
     * @return \SelectSiparis\SelectEFaturaResponse
     */
    public function setSelectEFaturaResult(\SelectSiparis\SelectEFaturaResponse $selectEFaturaResult = null)
    {
        if (is_null($selectEFaturaResult) || (is_array($selectEFaturaResult) && empty($selectEFaturaResult))) {
            unset($this->SelectEFaturaResult);
        } else {
            $this->SelectEFaturaResult = $selectEFaturaResult;
        }
        return $this;
    }
}
