from django.db import models

# --------------- FINE PREFISSO TEMPLATE ---------------


class BMCModelloDiBusiness(models.Model):
    class Meta:
        verbose_name = 'bmcmodellodibusiness'
        verbose_name_plural = 'bmcmodellodibusiness'

    def __str__(self):
        return f"BMCModelloDiBusiness (id: {self.id})"

    descrizione = models.CharField(null=True, max_length=4096)


class BMCPartnerChiave(models.Model):
    class Meta:
        verbose_name = 'bmcpartnerchiave'
        verbose_name_plural = 'bmcpartnerchiave'

    def __str__(self):
        return f"BMCPartnerChiave (id: {self.id})"

    partnership_azienda = models.IntegerField(null=True, blank=True)
    modello_di_business = models.ForeignKey('BMCModelloDiBusiness', on_delete=models.CASCADE, null=True,
                                            blank=True, related_name="BMCPartnerChiave_da_BMCModelloDiBusiness_modello_di_business")


class BMCSegmentiDiClientela(models.Model):
    class Meta:
        verbose_name = 'bmcsegmentidiclientela'
        verbose_name_plural = 'bmcsegmentidiclientela'

    def __str__(self):
        return f"BMCSegmentiDiClientela (id: {self.id})"

    settore_cliente = models.IntegerField(null=True, blank=True)
    modello_di_business = models.ForeignKey('BMCModelloDiBusiness', on_delete=models.CASCADE, null=True,
                                            blank=True, related_name="BMCSegmentiDiClientela_da_BMCModelloDiBusiness_modello_di_business")


class BMCRelazioneConCliente(models.Model):
    class Meta:
        verbose_name = 'bmcrelazioneconcliente'
        verbose_name_plural = 'bmcrelazioneconcliente'

    def __str__(self):
        return f"BMCRelazioneConCliente (id: {self.id})"

    relazione_cliente = models.IntegerField(null=True, blank=True)
    modello_di_business = models.ForeignKey('BMCModelloDiBusiness', on_delete=models.CASCADE, null=True,
                                            blank=True, related_name="BMCRelazioneConCliente_da_BMCModelloDiBusiness_modello_di_business")


class BMCAttivitaChiave(models.Model):
    class Meta:
        verbose_name = 'bmcattivitachiave'
        verbose_name_plural = 'bmcattivitachiave'

    def __str__(self):
        return f"BMCAttivitaChiave (id: {self.id})"

    attivita_chiave = models.IntegerField(null=True, blank=True)
    modello_di_business = models.ForeignKey('BMCModelloDiBusiness', on_delete=models.CASCADE, null=True,
                                            blank=True, related_name="BMCAttivitaChiave_da_BMCModelloDiBusiness_modello_di_business")


class BMCPropostaDiValore(models.Model):
    class Meta:
        verbose_name = 'bmcpropostadivalore'
        verbose_name_plural = 'bmcpropostadivalore'

    def __str__(self):
        return f"BMCPropostaDiValore (id: {self.id})"

    proposta_di_valore = models.IntegerField(null=True, blank=True)
    modello_di_business = models.ForeignKey('BMCModelloDiBusiness', on_delete=models.CASCADE, null=True,
                                            blank=True, related_name="BMCPropostaDiValore_da_BMCModelloDiBusiness_modello_di_business")


class BMCRisorsaChiave(models.Model):
    class Meta:
        verbose_name = 'bmcrisorsachiave'
        verbose_name_plural = 'bmcrisorsachiave'

    def __str__(self):
        return f"BMCRisorsaChiave (id: {self.id})"

    risorsa_chiave = models.IntegerField(null=True, blank=True)
    modello_di_business = models.ForeignKey('BMCModelloDiBusiness', on_delete=models.CASCADE, null=True,
                                            blank=True, related_name="BMCRisorsaChiave_da_BMCModelloDiBusiness_modello_di_business")


class BMCFlussoDiRicavi(models.Model):
    class Meta:
        verbose_name = 'bmcflussodiricavi'
        verbose_name_plural = 'bmcflussodiricavi'

    def __str__(self):
        return f"BMCFlussoDiRicavi (id: {self.id})"

    flusso_di_ricavi = models.IntegerField(null=True, blank=True)
    modello_di_business = models.ForeignKey('BMCModelloDiBusiness', on_delete=models.CASCADE, null=True,
                                            blank=True, related_name="BMCFlussoDiRicavi_da_BMCModelloDiBusiness_modello_di_business")


class BMCCanaleDiDistribuzione(models.Model):
    class Meta:
        verbose_name = 'bmccanaledidistribuzione'
        verbose_name_plural = 'bmccanaledidistribuzione'

    def __str__(self):
        return f"BMCCanaleDiDistribuzione (id: {self.id})"

    canale = models.IntegerField(null=True, blank=True)
    modello_di_business = models.ForeignKey('BMCModelloDiBusiness', on_delete=models.CASCADE, null=True,
                                            blank=True, related_name="BMCCanaleDiDistribuzione_da_BMCModelloDiBusiness_modello_di_business")
