<?php

declare(strict_types=1);

namespace Seka\Portal\Modul\Statistiky\Entities\Zaznam\Enums;

/**
 * Enum EmisnySystemEnum
 *
 * @package Seka\Portal\Modul\Statistiky\Entities\Zaznam\Enums
 */
enum EmisnySystemEnum: string
{
    case BKAT = 'BKAT';
    case NKAT = 'NKAT';
    case NKAT_OBD = 'NKAT_OBD';
    case RKAT = 'RKAT';
    case RKAT_OBD = 'RKAT_OBD';
    case NULL = 'NULL';

    /**
     * @return string
     */
    public function label(): string
    {
        return match ($this) {
            self::BKAT => 'BKAT',
            self::NKAT => 'NKAT',
            self::RKAT => 'RKAT',
            self::NKAT_OBD => 'NKAT OBD',
            self::RKAT_OBD => 'RKAT OBD',
            self::NULL => 'nedefinovaný'
        };
    }

    /**
     * @param \Seka\Portal\Modul\Statistiky\Entities\Zaznam\Enums\EmisnySystemEnum $other
     *
     * @return bool
     */
    public function equal(self $other): bool
    {
        return $this === $other;
    }
}
