<?php

namespace App\Entity;

use App\Repository\PriceAutomaticRepository;
use Doctrine\ORM\Mapping as ORM;

#[ORM\Entity(repositoryClass: PriceAutomaticRepository::class)]
class PriceAutomatic
{
    #[ORM\Id]
    #[ORM\GeneratedValue]
    #[ORM\Column]
    private ?int $id = null;

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

    #[ORM\Column(length: 255)]
    private string $title;

    #[ORM\Column(type: 'text', nullable: true)]
    private ?string $description = null;

    #[ORM\Column(type: 'decimal', precision: 10, scale: 2)]
    private string $priceHt;

    #[ORM\Column(type: 'decimal', precision: 10, scale: 2, options: ['default' => '0.00'])]
    private string $monthPrice = '0.00';

    #[ORM\Column(type: 'smallint', options: ['default' => 1])]
    private int $period = 1;

    #[ORM\Column(length: 255, nullable: true)]
    private ?string $stripeId = null;

    #[ORM\Column(length: 255, nullable: true)]
    private ?string $stripeAbonnementId = null;

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

    public function getType(): string
    {
        return $this->type;
    }

    public function setType(string $type): void
    {
        $this->type = $type;
    }

    public function getTitle(): string
    {
        return $this->title;
    }

    public function setTitle(string $title): void
    {
        $this->title = $title;
    }

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

    public function setDescription(?string $description): void
    {
        $this->description = $description;
    }

    public function getPriceHt(): string
    {
        return $this->priceHt;
    }

    public function setPriceHt(string $priceHt): void
    {
        $this->priceHt = $priceHt;
    }

    public function getMonthPrice(): string
    {
        return $this->monthPrice;
    }

    public function setMonthPrice(string $monthPrice): void
    {
        $this->monthPrice = $monthPrice;
    }

    public function getPeriod(): int
    {
        return $this->period;
    }

    public function setPeriod(int $period): void
    {
        $this->period = $period;
    }

    public function getStripeId(): ?string
    {
        return $this->stripeId;
    }

    public function setStripeId(?string $stripeId): void
    {
        $this->stripeId = $stripeId;
    }

    public function getStripeAbonnementId(): ?string
    {
        return $this->stripeAbonnementId;
    }

    public function setStripeAbonnementId(?string $stripeAbonnementId): void
    {
        $this->stripeAbonnementId = $stripeAbonnementId;
    }
}
