forked from marqueswill/trabalho2-TP1
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcomandos_apresentacao.cpp
More file actions
198 lines (183 loc) · 9.62 KB
/
comandos_apresentacao.cpp
File metadata and controls
198 lines (183 loc) · 9.62 KB
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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
#include "comandos_apresentacao.h"
//----------------------------------------------------------------------------------------------------------------------
bool ComandoIAAutenticacaoAutenticar::executar(ISAutenticacao* ctrlISAutenticacao) {
telaAutenticacao.autenticar(matricula, &senha);
Matricula login = *matricula;
resultado = ctrlISAutenticacao->autenticar(login, senha);
if (resultado) {
return resultado;
} else {
telaAutenticacao.autenticar(matricula, &senha);
}
return resultado;
}
//----------------------------------------------------------------------------------------------------------------------
void ComandoIADesenvolvedorVisualizar::executar(ISDesenvolvedor* ctrlISDesenvolvedor) {
desenvolvedor.setMatricula(matricula); // Já tem a matricula, desenvolvedor só pode visualizar os próprios dados
resultado = ctrlISDesenvolvedor->visualizar(&desenvolvedor);
if (resultado) {
telaDesenvolvedor.mostrar(desenvolvedor);
} else {
telaMensagem.apresentar("Desenvolvedor informado nao foi encontrado. Pressione qualquer tecla para continuar.");
}
}
void ComandoIADesenvolvedorCadastrar::executar(ISDesenvolvedor* ctrlISDesenvolvedor) {
telaDesenvolvedor.cadastrar(&desenvolvedor);
resultado = ctrlISDesenvolvedor->cadastrar(desenvolvedor);
if (resultado) {
telaMensagem.apresentar("Operacao realizada com sucesso. Pressione qualquer tecla para continuar.");
} else {
telaMensagem.apresentar("Nao foi possivel cadastrar desenvolvedor. Pressione qualquer tecla para continuar.");
}
}
void ComandoIADesenvolvedorEditar::executar(ISDesenvolvedor* ctrlISDesenvolvedor) {
desenvolvedor.setMatricula(matricula);
desenvolvedor.setNome(nome);
desenvolvedor.setSenha(senha);
desenvolvedor.setTelefone(telefone);
resultado = ctrlISDesenvolvedor->visualizar(&desenvolvedor);
telaDesenvolvedor.editar(&desenvolvedor);
resultado = ctrlISDesenvolvedor->editar(desenvolvedor);
if (resultado) {
telaMensagem.apresentar("Operacao realizada com sucesso. Pressione qualquer tecla para continuar.");
} else {
telaMensagem.apresentar("Nao foi possivel editar dados de desenvolvedor. Pressione qualquer tecla para continuar.");
}
}
void ComandoIADesenvolvedorDescadastrar::executar(ISDesenvolvedor* ctrlISDesenvolvedor) {
Matricula matriculaConfirmacao;
telaDesenvolvedor.descadastrar(&matriculaConfirmacao);
if (matriculaConfirmacao.getValor() == matricula.getValor()) {
resultado = ctrlISDesenvolvedor->descadastrar(matricula);
if (resultado) {
telaMensagem.apresentar("Operacao realizada com sucesso. Pressione qualquer tecla para continuar.");
} else {
telaMensagem.apresentar("Não foi possivel descadastrar desenvolvedor. Pressione qualquer tecla para continuar.");
}
} else {
telaMensagem.apresentar("Informe apenas matricula do desenvolvedor logado. Pressione qualquer tecla para continuar.");
}
}
//----------------------------------------------------------------------------------------------------------------------
void ComandoIATesteVisualizar::executar(ISTeste* ctrlISTeste) {
telaTeste.visualizar(&teste);
teste.setMatricula(matricula); // Pede o código do teste ao usuário.
resultado = ctrlISTeste->visualizar(&teste); // Pesquisa no banco de dados e coloca os valores.
if (resultado) {
telaTeste.mostrar(teste); // Mostra os valores.
} else {
telaMensagem.apresentar("Teste informado não foi encontrado. Pressione qualquer tecla para continuar.");
}
}
void ComandoIATesteCadastrar::executar(ISTeste* ctrlISTeste) {
teste.setMatricula(matricula);
telaTeste.cadastrar(&teste);
resultado = ctrlISTeste->cadastrar(teste); // Registra no banco de dados.
if (resultado) {
telaMensagem.apresentar("Teste cadastrado com sucesso. Pressione qualquer tecla para continuar.");
} else {
telaMensagem.apresentar("Nao foi possível cadastrar teste. Pressione qualquer tecla para continuar.");
}
}
void ComandoIATesteEditar::executar(ISTeste* ctrlISTeste) {
teste.setMatricula(matricula);
telaTeste.visualizar(&teste);
Teste* teste_confirmacao;
teste_confirmacao = new Teste();
teste_confirmacao->setCodigo(teste.getCodigo());
resultado = ctrlISTeste->visualizar(teste_confirmacao); // Verifica se está no banco de dados.
if (resultado) {
delete teste_confirmacao;
telaTeste.editar(&teste); // Solicita novos dados ao usuário.
resultado = ctrlISTeste->editar(teste);
if (resultado) { // Substitui novas informaçoes no banco de dados.
telaMensagem.apresentar("Operacao realizada com sucesso. Pressione qualquer tecla para continuar."); // Pesquisa no banco de dados e coloca os valores.
} else {
telaMensagem.apresentar("Nao foi possível editar teste. Pressione qualquer tecla para continuar.");
}
} else {
delete teste_confirmacao;
telaMensagem.apresentar("Teste informado nao foi encontrado. Pressione qualquer tecla para continuar.");
}
}
void ComandoIATesteDescadastrar::executar(ISTeste* ctrlISTeste) {
Teste* ptrTeste;
ptrTeste = new Teste();
ptrTeste->setMatricula(matricula);
telaTeste.descadastrar(&codigo);
ptrTeste->setCodigo(codigo);
if (resultado = ctrlISTeste->visualizar(ptrTeste)) {
delete ptrTeste;
resultado = ctrlISTeste->descadastrar(codigo); // Socilita descadastramento do banco de dados.
if (resultado) {
telaMensagem.apresentar("Teste descadastrado com sucesso. Pressione qualquer tecla para continuar.");
} else {
telaMensagem.apresentar("Teste informado nao foi encontrado. Pressione qualquer tecla para continuar.");
}
} else {
delete ptrTeste;
telaMensagem.apresentar("Teste informado nao foi encontrado. Pressione qualquer tecla para continuar.");
} // Pede o código do teste ao usuário.
}
//----------------------------------------------------------------------------------------------------------------------
void ComandoIACasoDeTesteVisualizar::executar(ISCasoDeTeste* ctrlISCasoDeTeste) {
casoDeTeste.setMatricula(matricula);
telaCasoDeTeste.visualizar(&casoDeTeste); // Pede o código do teste ao usuário.
resultado = ctrlISCasoDeTeste->visualizar(&casoDeTeste); // Pesquisa no banco de dados e coloca os valores.
if (resultado) {
telaCasoDeTeste.mostrar(casoDeTeste); // Mostra os valores.
} else {
telaMensagem.apresentar("Caso de teste informado nao foi encontrado. Pressione qualquer tecla para continuar.");
}
}
void ComandoIACasoDeTesteCadastrar::executar(ISCasoDeTeste* ctrlISCasoDeTeste) {
casoDeTeste.setMatricula(matricula);
telaCasoDeTeste.cadastrar(&casoDeTeste);
resultado = ctrlISCasoDeTeste->cadastrar(casoDeTeste); // Registra no banco de dados.
if (resultado) {
telaMensagem.apresentar("Caso de teste cadastrado com sucesso. Pressione qualquer tecla para continuar.");
} else {
telaMensagem.apresentar("Nao foi possivel cadastrar caso de teste. Pressione qualquer tecla para continuar.");
}
}
void ComandoIACasoDeTesteEditar::executar(ISCasoDeTeste* ctrlISCasoDeTeste) {
casoDeTeste.setMatricula(matricula);
telaCasoDeTeste.visualizar(&casoDeTeste);
CasoDeTeste* casodeteste_confirmacao;
casodeteste_confirmacao = new CasoDeTeste();
casodeteste_confirmacao->setCodigo(casoDeTeste.getCodigo());
resultado = ctrlISCasoDeTeste->visualizar(casodeteste_confirmacao); // Verifica se está no banco de dados. // Obtém código do teste que será editado
if (resultado) {
delete casodeteste_confirmacao;
telaCasoDeTeste.editar(&casoDeTeste); // Solicita novos dados ao usuário.
resultado = ctrlISCasoDeTeste->editar(casoDeTeste);
if (resultado) { // Substitui novas informaçoes no banco de dados.
telaMensagem.apresentar("Operacao realizada com sucesso. Pressione qualquer tecla para continuar."); // Pesquisa no banco de dados e coloca os valores.
} else {
telaMensagem.apresentar("Nao foi possivel editar caso de teste. Pressione qualquer tecla para continuar.");
}
} else {
delete casodeteste_confirmacao;
telaMensagem.apresentar("Caso de teste informado nao foi encontrado. Pressione qualquer tecla para continuar.");
}
}
void ComandoIACasoDeTesteDescadastrar::executar(ISCasoDeTeste* ctrlISCasoDeTeste) {
CasoDeTeste* ptrCasoDeTeste;
ptrCasoDeTeste = new CasoDeTeste();
ptrCasoDeTeste->setMatricula(matricula);
casoDeTeste.setMatricula(matricula);
telaCasoDeTeste.descadastrar(&codigo);
ptrCasoDeTeste->setCodigo(codigo);
if (resultado = ctrlISCasoDeTeste->visualizar(ptrCasoDeTeste)) {
delete ptrCasoDeTeste;
resultado = ctrlISCasoDeTeste->descadastrar(codigo); // Socilita descadastramento do banco de dados.
if (resultado) {
telaMensagem.apresentar("Caso de teste descadastrado com sucesso. Pressione qualquer tecla para continuar.");
} else {
telaMensagem.apresentar("Caso de teste informado nao foi encontrado. Pressione qualquer tecla para continuar.");
}
} else {
delete ptrCasoDeTeste;
telaMensagem.apresentar("Caso de teste informado nao foi encontrado. Pressione qualquer tecla para continuar.");
} // Pede o código do teste ao usuário.
}