<?php

namespace App\Entity;

use App\Repository\StatsHistoryRepository;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;

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

    #[ORM\Column(nullable: true)]
    private ?int $places_count = null;

    #[ORM\Column(nullable: true)]
    private ?int $emails_count = null;

    #[ORM\Column(type: Types::SMALLFLOAT, nullable: true)]
    private ?float $completion_percent = null;

    #[ORM\Column(nullable: true)]
    private ?int $emails_sent = null;

    #[ORM\ManyToOne(inversedBy: 'statsHistories')]
    private ?Stats $stats = null;

    #[ORM\Column]
    private ?\DateTime $date = null;

    #[ORM\Column(nullable: true)]
    private ?int $names_count = null;

    #[ORM\Column(nullable: true)]
    private ?int $opening_hours_count = null;

    #[ORM\Column(nullable: true)]
    private ?int $website_count = null;

    #[ORM\Column(nullable: true)]
    private ?int $address_count = null;

    #[ORM\Column(nullable: true)]
    private ?int $siret_count = null;


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

    public function getPlacesCount(): ?int
    {
        return $this->places_count;
    }

    public function setPlacesCount(?int $places_count): static
    {
        $this->places_count = $places_count;

        return $this;
    }

    public function getEmailsCount(): ?int
    {
        return $this->emails_count;
    }

    public function setEmailsCount(?int $emails_count): static
    {
        $this->emails_count = $emails_count;

        return $this;
    }

    public function getCompletionPercent(): ?float
    {
        return $this->completion_percent;
    }

    public function setCompletionPercent(?float $completion_percent): static
    {
        $this->completion_percent = $completion_percent;

        return $this;
    }

    public function getEmailsSent(): ?int
    {
        return $this->emails_sent;
    }

    public function setEmailsSent(?int $emails_sent): static
    {
        $this->emails_sent = $emails_sent;

        return $this;
    }

    public function getStats(): ?Stats
    {
        return $this->stats;
    }

    public function setStats(?Stats $stats): static
    {
        $this->stats = $stats;

        return $this;
    }

    public function getDate(): ?\DateTime
    {
        return $this->date;
    }

    public function setDate(\DateTime $date): static
    {
        $this->date = $date;

        return $this;
    }

    public function getNamesCount(): ?int
    {
        return $this->names_count;
    }

    public function setNamesCount(?int $names_count): static
    {
        $this->names_count = $names_count;

        return $this;
    }

    public function getOpeningHoursCount(): ?int
    {
        return $this->opening_hours_count;
    }

    public function setOpeningHoursCount(?int $opening_hours_count): static
    {
        $this->opening_hours_count = $opening_hours_count;

        return $this;
    }

    public function getWebsiteCount(): ?int
    {
        return $this->website_count;
    }

    public function setWebsiteCount(?int $website_count): static
    {
        $this->website_count = $website_count;

        return $this;
    }

    public function getAddressCount(): ?int
    {
        return $this->address_count;
    }

    public function setAddressCount(?int $address_count): static
    {
        $this->address_count = $address_count;

        return $this;
    }

    public function getSiretCount(): ?int
    {
        return $this->siret_count;
    }

    public function setSiretCount(?int $siret_count): static
    {
        $this->siret_count = $siret_count;

        return $this;
    }

}
