<?php

namespace App\Entity;

use App\Repository\InstitutionRepository;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;

/**
 * @ORM\Entity(repositoryClass=InstitutionRepository::class)
 */
class Institution {
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=50,nullable=false)
     */
    private $institutionName;
    /**
     * @ORM\Column(type="text",nullable=true,length=800)
     */
    private $description;
    /**
     * @ORM\Column(type="string", length=180,nullable=true)
     */
    private $fullName;
    /**
     * @ORM\Column(type="string", length=180,nullable=true)
     */
    private $bankName;
    /**
     * @ORM\Column(type="string", length=180,nullable=true)
     */
    private $bankAdress;
    /**
     * @ORM\Column(type="string", length=180,nullable=true)
     */
    private $bankAdress2;
    /**
     * @ORM\Column(type="string", length=180,nullable=true)
     */
    private $bankCity;
    /**
     * @ORM\Column(type="string", length=180,nullable=true)
     */
    private $bankProvince;
    /**
     * @ORM\Column(type="string", length=180,nullable=true)
     */
    private $bankZip;
    /**
     * @ORM\Column(type="string", length=180,nullable=true)
     */
    private $bankCountry;
    /**
     * @ORM\Column(type="string", length=180,nullable=true)
     */
    private $taxId;
    /**
     * @ORM\Column(type="string", length=180,nullable=true)
     */
    private $iban;
    /**
     * @ORM\Column(type="string", length=180,nullable=true)
     */
    private $swift;
    /**
     * @ORM\Column(type="string", length=180,nullable=true)
     */
    private $taxForm;
    /**
     * @ORM\Column(type="float", scale=2,nullable=true,options={"default":0})
     */
    private $wallet;
    /**
     * @ORM\OneToMany(targetEntity="App\Entity\PhotoInstitution", mappedBy="institution")
     */
    private $photos;
     /**
    * @ORM\OneToOne(targetEntity=User::class)
    */
    private $user;
    /**
     * @ORM\OneToMany(targetEntity="App\Entity\Withdraw", mappedBy="institution")
     */
    private $Withdraw;
    /**
     * @ORM\Column(type="boolean",options={"default":0})
     */
    private $islogin;

    public function __construct()
    {
        $this->photos = new ArrayCollection();
        $this->Withdraw = new ArrayCollection();
        $this->islogin=0;
      
    }
    /**
     * @return mixed
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * @param mixed $id
     */
    public function setId($id): void
    {
        $this->id = $id;
    }
    /**
     * @return mixed
     */
    public function getInstitutionName()
    {
        return $this->institutionName;
    }

    /**
     * @param mixed $institutionName
     */
    public function setInstitutionName($institutionName): void
    {
        $this->institutionName = $institutionName;
    }

    /**
     * @return mixed
     */
    public function getBankName()
    {
        return $this->bankName;
    }

    /**
     * @param mixed $bankName
     */
    public function setBankName($bankName): void
    {
        $this->bankName = $bankName;
    }
     /**
     * @return mixed
     */
    public function getFullName()
    {
        return $this->fullName;
    }

    /**
     * @param mixed $bankName
     */
    public function setFullName($fullName): void
    {
        $this->fullName = $fullName;
    }

    /**
     * @return mixed
     */
    public function getBankAdress()
    {
        return $this->bankAdress;
    }

    /**
     * @param mixed $bankAdress
     */
    public function setBankAdress($bankAdress): void
    {
        $this->bankAdress = $bankAdress;
    }

    /**
     * @return mixed
     */
    public function getBankAdress2()
    {
        return $this->bankAdress2;
    }

    /**
     * @param mixed $bankAdress2
     */
    public function setBankAdress2($bankAdress2): void
    {
        $this->bankAdress2 = $bankAdress2;
    }

    /**
     * @return mixed
     */
    public function getBankCity()
    {
        return $this->bankCity;
    }

    /**
     * @param mixed $bankCity
     */
    public function setBankCity($bankCity): void
    {
        $this->bankCity = $bankCity;
    }

    /**
     * @return mixed
     */
    public function getBankProvince()
    {
        return $this->bankProvince;
    }

    /**
     * @param mixed $bankProvince
     */
    public function setBankProvince($bankProvince): void
    {
        $this->bankProvince = $bankProvince;
    }

    /**
     * @return mixed
     */
    public function getBankZip()
    {
        return $this->bankZip;
    }

    /**
     * @param mixed $bankZip
     */
    public function setBankZip($bankZip): void
    {
        $this->bankZip = $bankZip;
    }

    /**
     * @return mixed
     */
    public function getBankCountry()
    {
        return $this->bankCountry;
    }

    /**
     * @param mixed $bankCountry
     */
    public function setBankCountry($bankCountry): void
    {
        $this->bankCountry = $bankCountry;
    }

    /**
     * @return mixed
     */
    public function getTaxId()
    {
        return $this->taxId;
    }

    /**
     * @param mixed $taxId
     */
    public function setTaxId($taxId): void
    {
        $this->taxId = $taxId;
    }

    /**
     * @return mixed
     */
    public function getTaxForm()
    {
        return $this->taxForm;
    }

    /**
     * @param mixed $taxForm
     */
    public function setTaxForm($taxForm): void
    {
        $this->taxForm = $taxForm;
    }

    public function getDescription(): ?string
    {
        return $this->description;
    }

    public function setDescription(string $description): self
    {
        $this->description = $description;

        return $this;
    }
     /**
     * @return ArrayCollection
     */
    public function getPhotos()
    {
        return $this->photos;
    }

    /**
     * @param ArrayCollection $photos
     */
    public function setPhotos(ArrayCollection $photos): void
    {
        $this->photos = $photos;
    }

     /**
     * @return mixed
     */
    public function getUser()
    {
        return $this->user;
    }

    /**
     * @param mixed $user
     */
    public function setUser($user): void
    {
        $this->user = $user;
    }

     /**
     * @return mixed
     */
    public function getIban()
    {
        return $this->iban;
    }

    /**
     * @param mixed $IBAN
     */
    public function setIban($iban): void
    {
        $this->iban = $iban;
    }
     /**
     * @return mixed
     */
    public function getSwift()
    {
        return $this->swift;
    }

    /**
     * @param mixed $IBAN
     */
    public function setSwift($swift): void
    {
        $this->swift = $swift;
    }
     /**
     * @return mixed
     */
    public function getWallet()
    {
        return $this->wallet;
    }

    /**
     * @param mixed $bankName
     */
    public function setWallet($wallet): void
    {
        $this->wallet = $wallet;
    }

    /**
     * @return ArrayCollection
     */
    public function getWithdraw()
    {
        return $this->Withdraw;
    }

    /**
     * @param ArrayCollection $Withdraw
     */
    public function setWithdraw(ArrayCollection $Withdraw): void
    {
        $this->Withdraw = $Withdraw;
    }
     /**
     * @return mixed
     */
    public function getIslogin()
    {
        return $this->islogin;
    }

    /**
     * @param mixed $islogin
     */
    public function setIslogin($islogin): void
    {
        $this->islogin = $islogin;
    }




}



?>