from enum import Enum

class BloodGroup(Enum):
    A = "A"
    B = "B"
    AB = "AB"
    O = "O"

    @classmethod
    def choices(cls):
        return tuple((i.value, i.name) for i in cls)
    
    @classmethod
    def to_list(cls):
        return [e.value for e in cls]
    
    @classmethod
    def to_list_for_reports(cls):
        list = ['ALL']
        return list + BloodGroup.to_list()
    
    @classmethod
    def to_list_for_input(cls):
        list = [None]
        return list + BloodGroup.to_list()
    
class Rh(Enum):
    PLUS = "+"
    NEGATIVE = "-"

    @classmethod
    def choices(cls):
        return tuple((i.value, i.name) for i in cls)
    
    @classmethod
    def to_list(cls):
        return [e.value for e in cls]
    
    @classmethod
    def to_list_for_reports(cls):
        list = ['ALL']
        return list + Rh.to_list()
    
    @classmethod
    def to_list_for_input(cls):
        list = [None]
        return list + Rh.to_list()