-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathHijaAgregarP.cpp
58 lines (50 loc) · 2 KB
/
HijaAgregarP.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
#include "HijaAgregarP.h"
#include "Cliente.h"
#include "Producto.h"
#include "Financiero.h"
#include <string>
#include "string_conv.h"
#include <wx/msgdlg.h>
HijaAgregarP::HijaAgregarP(wxWindow *parent, Financiero *financiero)
: VentanaAgrEditProductos(parent), m_financiero(financiero) {
///Modifico el nombre de los botones asi puede utilizarse en otra apertura como editar
m_p_aceptarA->SetLabel("Agregar");
m_p_cancelarB->SetLabel("Cancelar");
///Modifico lo que dice el titulo de la ventana (para este caso, agregar)
m_p_titulo->SetLabel("Agregar producto:");
///Titulo de la barra de la ventana
SetTitle("Agregar producto");
}
void HijaAgregarP::OnClickButtonAceptarA( wxCommandEvent& event ) {
// Creamos un producto para verificar errores (no por referencia para no guardar en este paso)
///Transformamos el wxString del precio a float para poder pasarselo al constructor
float decimalNumber = wxAtof(m_p_precio->GetValue());
Producto p2(
wx_to_std(m_p_producto->GetValue()),
wx_to_std(m_p_marca->GetValue()),
wx_to_std(m_p_codigo->GetValue()),
///Acá se debe pasar el wxString mystring a float;
decimalNumber,
wx_to_std(m_p_descripcion->GetValue())
);
//Verificamos si el código ya se encuentra en uso
std::string erroresExistenciaCodigo = p2.validarExistenciaCodigo();
if(erroresExistenciaCodigo.empty()){ //Si no está en el sistema el código, se prosigue
// Siguiente paso, es verificar que no haya errores (campos vacíos, etc)
std::string errores = p2.ValidarDatos();
if(errores.empty()){ ///En caso de no haber ninguno, guarda y acepta
m_financiero->AgregarProducto(p2);
EndModal(1);
}else{
///Con esto me tira el iconito de error y el mensajito de error!
wxMessageBox(errores,"error",wxOK|wxICON_ERROR);
}
}else{
wxMessageBox(erroresExistenciaCodigo,"error",wxOK|wxICON_ERROR);
}
}
void HijaAgregarP::OnClickButtonCancelarB( wxCommandEvent& event ) {
EndModal(0);
}
HijaAgregarP::~HijaAgregarP() {
}