<?php

namespace Entity;

use Doctrine\ORM\Mapping as ORM;

#[ORM\Entity(repositoryClass: 'Repository\WerbenetzwerkRepository')]
#[ORM\Table(name: 'werbenetzwerk')]
#[ORM\HasLifecycleCallbacks]
class Werbenetzwerk
{
    #[ORM\Id]
    #[ORM\GeneratedValue]
    #[ORM\Column(type: 'integer')]
    private ?int $id = null;

    #[ORM\Column(type: 'float')]
    private float $umrechnungskurs;

    #[ORM\Column(type: 'smallint', options: ['unsigned' => true])]
    private int $eigenanteil_prozent;

    #[ORM\Column(type: 'string', length: 255)]
    private string $interfacepasswort;

    #[ORM\Column(type: 'smallint', options: ['unsigned' => true])]
    private int $interface_anfragen_pro_tag;

    #[ORM\Column(type: 'string', length: 50)]
    private string $user_id;

    #[ORM\Column(type: 'datetime', nullable: true)]
    private ?\DateTimeInterface $date_updated = null;

    #[ORM\PrePersist]
    #[ORM\PreUpdate]
    public function setDateUpdatedValue(): void
    {
        $this->date_updated = new \DateTime();
    }

    // Getters and Setters
    public function getId(): ?int
    {
        return $this->id;
    }

    public function getUmrechnungskurs(): float
    {
        return $this->umrechnungskurs;
    }

    public function setUmrechnungskurs(float $umrechnungskurs): self
    {
        $this->umrechnungskurs = $umrechnungskurs;
        return $this;
    }

    public function getEigenanteilProzent(): int
    {
        return $this->eigenanteil_prozent;
    }

    public function setEigenanteilProzent(int $eigenanteil_prozent): self
    {
        $this->eigenanteil_prozent = $eigenanteil_prozent;
        return $this;
    }

    public function getDateUpdated(): ?\DateTimeInterface
    {
        return $this->date_updated;
    }

    public function getInterfacepasswort(): string
    {
        return $this->interfacepasswort;
    }

    public function setInterfacepasswort(string $interfacepasswort): self
    {
        $this->interfacepasswort = $interfacepasswort;
        return $this;
    }

    public function getInterfaceAnfragenProTag(): int
    {
        return $this->interface_anfragen_pro_tag;
    }

    public function setInterfaceAnfragenProTag(int $interface_anfragen_pro_tag): self
    {
        $this->interface_anfragen_pro_tag = $interface_anfragen_pro_tag;
        return $this;
    }

    public function getUserId(): string
    {
        return $this->user_id;
    }

    public function setUserId(string $user_id): self
    {
        $this->user_id = $user_id;
        return $this;
    }
}
