-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAdminConfig.cpp
169 lines (141 loc) · 4.09 KB
/
AdminConfig.cpp
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
#include "AdminConfig.h"
#include "InterfazUI.h"
#include "Producto.h"
#include "Proveedor.h"
#include "Cliente.h"
#include "Backup.h"
#include <Windows.h>
AdminConfig::AdminConfig(Sistema* sistema):_sistema(sistema) {
_sistema = sistema;
_nombreModulo = "Configuracion";
}
AdminConfig::~AdminConfig() {}
bool AdminConfig::moduloConfigActivo() {
return _sistema->getModulo() == _nombreModulo;
}
void AdminConfig::moduloConfigSalir() {
_sistema->setModuloPantalla("Principal", 888);
}
void AdminConfig::administrarModuloConfig() {
InterfazUI config_UI(_sistema);
int opc =0;
while (moduloConfigActivo()) {
config_UI.ver_MenuConfig();
opc = _sistema->getPantalla();
switch (opc) {
case 1:
administrarConfiguracionFecha();
break;
case 2:
administrarConfiguracionMargenUtilidad();
break;
case 3:
administrarCarpetaDeBackups();
break;
case 4:
realizarCopiaDeSeguridad();
break;
case 0:
moduloConfigSalir();
break;
default:
_sistema->setError("Opción inválida.");
break;
}
}
}
void AdminConfig::administrarConfiguracionFecha() {
InterfazUI config_UI(_sistema);
bool modificar;
int formatoFecha = 0;
cout << "Formato de fecha actual: " << _sistema->getFormatoFecha() << endl;
cout << "Desea modificar el formato de fecha? (1: Si - 0: No): ";
cin >> modificar;
if (modificar) {
config_UI.ver_seleccionFormatoFecha();
}
}
void AdminConfig::administrarConfiguracionMargenUtilidad() {
InterfazUI config_UI(_sistema);
int opc;
bool continuar = false;
float margenUtilidad = 0.0;
while (!continuar)
{
cout << "Margen de utilidad actual: " << _sistema->getMargenUtilidad() * 100 - 100 << "%" << endl;
cout << "Desea modificar el margen de utilidad? (1: Si - 2: No): " << endl;
cin >> opc;
if (opc == 1) {
cout << "Ingrese margen de utilidad (Numero entero %): ";
cin >> margenUtilidad;
_sistema->setMargenUtilidad(margenUtilidad);
cout << endl << "El margen de utilidad se ha actualizado a: " << _sistema->getMargenUtilidad() * 100 - 100 << "%, volviendo al menu anterior..." << endl;
Sleep(5000);
continuar = true;
}
else
{
cout << endl << "No se ha modificado el margen de utilidad, volviendo al menu anterior..." << endl;
Sleep(3000);
continuar = true;
}
}
}
void AdminConfig::administrarCarpetaDeBackups()
{
InterfazUI config_UI(_sistema);
bool modificar;
string carpetaBackUp;
cout << "Carpeta de backups actual: " << _sistema->getCarpetaBackUp() << endl;
cout << "Desea modificar la carpeta de backups? (1: Si - 0: No): ";
cin >> modificar;
if (modificar) {
config_UI.ver_setearCarpetaBackUp();
}
}
void AdminConfig::realizarCopiaDeSeguridad()
{
const char* carpetaBackUp = _sistema->getCarpetaBackUp();
Backup <Producto> backUpProducto("productos.dat","productos.bak");
Backup <Cliente> backUpcliente("clientes.dat","clientes.bak");
Backup <Proveedor> backUpProveedor("proveedores.dat","proveedores.bak");
Helper helper;
Producto producto;
Proveedor proveedor;
Cliente cliente;
bool continuar = false;
int opc;
helper.limpiarConsola();
cout << "---------------- REALIZAR COPIA DE SEGURIDAD DEL SISTEMA ----------------" << endl << endl;
while (!continuar)
{
cout << "Desea realizar la copia de seguridad de Productos, Clientes y Proveedores?" << endl;
cout << "1) Si - 2) No " << endl;
cin >> opc;
if (opc == 1)
{
cout << endl << "Iniciando copia de seguridad..."<< endl << endl;
_sleep(2000);
backUpProducto.grabarCopiaDeSeguridad(producto);
cout <<"Productos!" << endl << endl;
_sleep(1000);
backUpcliente.grabarCopiaDeSeguridad(cliente);
cout << "Clientes!" << endl << endl;
_sleep(1000);
backUpProveedor.grabarCopiaDeSeguridad(proveedor);
cout << "Proveedores!" << endl << endl << endl;
_sleep(1000);
cout << "Copia de seguridad realizada correctamente!" << endl;
cout << "Volviendo al menu anterior..." << endl;
_sleep(4000);
continuar = true;
}
else
{
cout << "No se ha realizado ninguna copia de seguridad" << endl;
cout << "Volviendo al menu anterior..." << endl;
_sleep(3000);
continuar = true;
}
}
}