-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmodels.py
159 lines (136 loc) · 5.3 KB
/
models.py
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
from datetime import datetime, timedelta
from enum import Enum
class SituacaoExemplar(Enum):
emprestado = "emprestado"
em_stock = "em_stock"
class LivroDB:
def __init__(self, codigo_livro, titulo, edicao, ISBN, categoria, ano_de_publicacao, id_editora, quantidade_exemplares=0):
self.codigo_livro = codigo_livro
self.titulo = titulo
self.edicao = edicao
self.ISBN = ISBN
self.categoria = categoria
self.ano_de_publicacao = ano_de_publicacao
self.id_editora = id_editora
self.quantidade_exemplares = quantidade_exemplares
def __str__(self):
return(
f'codigo livro: {self.codigo_livro},'
+ f'titulo: {self.titulo}, edicao: {self.edicao},'
+ f'ISBN: {self.ISBN}, categoria: {self.categoria},'
+ f'ano de publicacao: {self.ano_de_publicacao},'
+ f'id_editora: {self.id_editora},'
+ f'quantidade de exemplares: {self.quantidade_exemplares}'
)
class Livro:
def __init__(self, titulo, edicao, ISBN, categoria, ano_de_publicacao, id_editora, autores, quantidade_exemplares=0):
self.titulo = titulo
self.edicao = edicao
self.ISBN = ISBN
self.categoria = categoria
self.ano_de_publicacao = ano_de_publicacao
self.id_editora = id_editora
self.quantidade_exemplares = quantidade_exemplares
self.autores = autores
def __str__(self):
autores_str = [str(autor) for autor in self.autores]
return (
f'titulo: {self.titulo}, edicao: {self.edicao}, '
+ f'ISBN: {self.ISBN}, categoria: {self.categoria}, '
+ f'ano de publicacao: {self.ano_de_publicacao}, '
+ f'id_editora: {self.id_editora}, '
+ f'quantidade de exemplares: {self.quantidade_exemplares}, '
+ f'autores: {autores_str}'
)
class AutorDB:
def __init__(self, id_autor, nome):
self.id_autor = id_autor
self.nome = nome
def __str__(self):
return (
f'id autor: {self.id_autor}, '
+ f'nome: {self.nome}'
)
class Autor:
def __init__(self, nome):
self.nome = nome
def __str__(self):
return f'nome: {self.nome}'
class Exemplar:
def __init__(self, codigo_exemplar, codigo_livro, situacao):
self.codigo_exemplar = codigo_exemplar
self.codigo_livro = codigo_livro
self.situacao = situacao
def __str__(self):
return f'codigo exemplar: {self.codigo_exemplar} \
codigo livro: {self.codigo_livro} \
situacao: {self.situacao}'
class EditoraDB:
def __init__(self, id_editora, nome):
self.id_editora = id_editora
self.nome = nome
def __str__(self):
return f'id: {self.id}, nome: {self.nome}'
class Editora:
def __init__(self, nome):
self.nome = nome
def __str__(self):
return f'nome: {self.nome}'
class Funcionario:
def __init__(self, id_funcionario, nome, sobrenome, id_cadastro):
self.id_funcionario = id_funcionario
self.nome = nome
self.sobrenome = sobrenome
self.id_cadastro = id_cadastro
class Leitor:
def __init__(self, id_leitor, nome, sobrenome, id_cadastro):
self.id_leitor = id_leitor
self.nome = nome
self.sobrenome = sobrenome
self.id_cadastro = id_cadastro
class Cadastro:
def __init__(self, id_cadastro, logradouro, numero, complemento, bairro, UF, CEP, email, telefone):
self.id_cadastro = id_cadastro
self.logradouro = logradouro
self.numero = numero
self.complemento = complemento
self.bairro = bairro
self.UF = UF
self.CEP = CEP
self.email = email
self.telefone = telefone
class Emprestimo:
def __init__(self, id_leitor, data_emprestimo, data_devolucao, id_funcionario):
self.id_leitor = id_leitor
self.data_emprestimo = data_emprestimo
self.data_devolucao = data_devolucao
self.id_funcionario = id_funcionario
class EmprestimoDB:
def __init__(self, id_emprestimo, codigo_exemplar, id_leitor, data_emprestimo, data_devolucao, id_funcionario):
self.id_emprestimo = id_emprestimo
self.codigo_exemplar = codigo_exemplar
self.id_leitor = id_leitor
self.data_emprestimo = data_emprestimo
self.data_devolucao = data_devolucao
self.id_funcionario = id_funcionario
class Emprestimo_Exemplar:
def __init__(self, id_emprestimo, codigo_exemplar):
self.id_emprestimo = id_emprestimo
self.codigo_exemplar = codigo_exemplar
class Devolucao:
def __init__(self, id_emprestimo, id_funcionario, data_devolucao):
self.id_emprestimo = id_emprestimo
self.id_funcionario = id_funcionario
self.data_devolucao = data_devolucao
class Relatorio:
def __init__(self, id_relatorio, id_funcionario, id_emprestimo, descricao, created_at=None):
self.id_relatorio = id_relatorio
self.id_funcionario = id_funcionario
self.id_emprestimo = id_emprestimo
self.descricao = descricao
self.created_at = created_at if created_at else datetime.now()
class Login:
def __init__(self, id_cadastro, usuario, senha):
self.id_cadastro = id_cadastro
self.usuario = usuario
self.senha = senha