File size: 2,018 Bytes
6bd93b2
b0a47bb
6bd93b2
365183d
6562745
 
365183d
509d9ea
02eff64
 
 
365183d
 
 
6562745
509d9ea
 
c03d9f3
08b0b11
02eff64
509d9ea
 
 
 
 
 
 
adaa824
 
 
b0a47bb
 
e102c92
adaa824
 
 
 
68f34db
 
 
 
 
 
 
 
344b90b
 
 
365183d
b35645d
365183d
344b90b
 
 
365183d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
from tecnicas.models import TipoTecnica, CategoriaTecnica, Tecnica, EstiloPalabra
from django.db import DatabaseError
from tecnicas.utils import controller_error


class TecnicaController():
    def setTechnique(self, **kwargs):
        self.technique = Tecnica(
            tipo_tecnica=TipoTecnica.objects.get(nombre_tecnica=kwargs["name_tecnica"]),
            id_estilo=EstiloPalabra.objects.get(id=kwargs["estilo_palabras"]),
            repeticiones_max=kwargs["numero_repeticiones"] or 1,
            limite_catadores=kwargs["numero_catadores"],
            instrucciones=kwargs["instrucciones"],
        )

    def setTechniqueFromBasicData(self, basic):
        self.technique = Tecnica(
            tipo_tecnica=TipoTecnica.objects.get(nombre_tecnica=basic["name_tecnica"]),
            id_estilo=EstiloPalabra.objects.get(nombre_estilo=basic["estilo_palabras"]),
            repeticiones_max=basic["numero_repeticiones"] or 1,
            limite_catadores=basic["numero_catadores"],
            instrucciones=basic["instrucciones"] or "Espere instrucciones del Presentador",
        )

    def getDataTechnique(self):
        return self.technique.toDict()

    def saveTechnique(self):
        try:
            self.technique.save()
            return self.technique
        except DatabaseError:
            return controller_error("No se ha podido guardar la técnica")

    def deleteTechnique(self):
        self.technique.delete()

    @staticmethod
    def getTechniqueById(id: int):
        try:
            technique = Tecnica.objects.get(id)
            return technique
        except Tecnica.DoesNotExist:
            return controller_error("Técnica no encontrada")

    @staticmethod
    def getTypesTechnique():
        showTecnicas = {}
        categories = CategoriaTecnica.objects.all()

        for cata in categories:
            tecnicas = TipoTecnica.objects.filter(id_categoria_tecnica=cata.id)
            showTecnicas[cata.nombre_categoria] = tecnicas

        return showTecnicas