<?php


class Purchase implements \JsonSerializable
{
    private $lastDateInsertedMail;    
    private $lastDateChangePassword;
    private $lastDateChangePhone;	
    private $lastDateChangeMobilePhone;	
    private $lastDateInsertedAddress;	
    private $purchaseLogged;	
    private $email;	
    private $login;	

    public function jsonSerialize(): mixed
    {
        $obj = clone $this;
        $keys = get_object_vars($obj);
        foreach ($keys as $key => $value) {
            if ($value===null || $value==='') {
                unset($obj->{$key});
            }
        }

        return get_object_vars($obj);
    }    

    /**
     * Get the value of lastDateInsertedMail
     */ 
    public function getLastDateInsertedMail()
    {
        return $this->lastDateInsertedMail;
    }

    /**
     * Set the value of lastDateInsertedMail
     *
     * @return  $this
     */ 
    public function setLastDateInsertedMail($lastDateInsertedMail)
    {
        $this->lastDateInsertedMail = $lastDateInsertedMail;

        return $this;
    }

    /**
     * Get the value of lastDateChangePassword
     */ 
    public function getLastDateChangePassword()
    {
        return $this->lastDateChangePassword;
    }

    /**
     * Set the value of lastDateChangePassword
     *
     * @return  $this
     */ 
    public function setLastDateChangePassword($lastDateChangePassword)
    {
        $this->lastDateChangePassword = $lastDateChangePassword;

        return $this;
    }

    /**
     * Get the value of lastDateChangePhone
     */ 
    public function getLastDateChangePhone()
    {
        return $this->lastDateChangePhone;
    }

    /**
     * Set the value of lastDateChangePhone
     *
     * @return  $this
     */ 
    public function setLastDateChangePhone($lastDateChangePhone)
    {
        $this->lastDateChangePhone = $lastDateChangePhone;

        return $this;
    }

    /**
     * Get the value of lastDateChangeMobilePhone
     */ 
    public function getLastDateChangeMobilePhone()
    {
        return $this->lastDateChangeMobilePhone;
    }

    /**
     * Set the value of lastDateChangeMobilePhone
     *
     * @return  $this
     */ 
    public function setLastDateChangeMobilePhone($lastDateChangeMobilePhone)
    {
        $this->lastDateChangeMobilePhone = $lastDateChangeMobilePhone;

        return $this;
    }

    /**
     * Get the value of lastDateInsertedAddress
     */ 
    public function getLastDateInsertedAddress()
    {
        return $this->lastDateInsertedAddress;
    }

    /**
     * Set the value of lastDateInsertedAddress
     *
     * @return  $this
     */ 
    public function setLastDateInsertedAddress($lastDateInsertedAddress)
    {
        $this->lastDateInsertedAddress = $lastDateInsertedAddress;

        return $this;
    }

    /**
     * Get the value of purchaseLogged
     */ 
    public function getPurchaseLogged()
    {
        return $this->purchaseLogged;
    }

    /**
     * Set the value of purchaseLogged
     *
     * @return  $this
     */ 
    public function setPurchaseLogged($purchaseLogged)
    {
        $this->purchaseLogged = $purchaseLogged;

        return $this;
    }

    /**
     * Get the value of email
     */ 
    public function getEmail()
    {
        return $this->email;
    }

    /**
     * Set the value of email
     *
     * @return  $this
     */ 
    public function setEmail($email)
    {
        $this->email = $email;

        return $this;
    }

    /**
     * Get the value of login
     */ 
    public function getLogin()
    {
        return $this->login;
    }

    /**
     * Set the value of login
     *
     * @return  $this
     */ 
    public function setLogin($login)
    {
        $this->login = $login;

        return $this;
    }
}