FormAgregarVenta::FormAgregarVenta ( QWidget* parent, Qt::WFlags fl ) : EVentana ( parent, fl ), Ui::FormAgregarVentaBase() { setupUi( this ); this->setObjectName( "formagregarcompra" ); this->setWindowTitle( "Agregar Venta" ); this->setWindowIcon( QIcon(":/imagenes/factura-nueva.png" ) ); PBAgregarProducto->setIcon( QIcon( ":/imagenes/add.png" ) ); PBAgregarProducto->setText( "Agregar Producto" ); PBEliminar->setIcon( QIcon( ":/imagenes/eliminar.png" ) ); PBEliminar->setText( "Eliminar seleccion" ); PBEliminarTodo->setIcon( QIcon( ":/imagenes/eliminar.png" ) ); PBEliminarTodo->setText( "Eliminar todo"); connect( PBAgregarProducto, SIGNAL( clicked() ), this, SLOT( agregarProducto() ) ); // Inicio los modelos CBCliente->setEditable( true ); DEFecha->setDate( QDate::currentDate() ); ecbmprod = new ECBProductosModel( this ); ecbmprod->inicializar(); ecbfiltro = new ECBProductosFilter( this ); ecbfiltro->setSourceModel( ecbmprod ); ecbfiltro->setearNoMostrarProductosSinStock( true ); connect( CBProducto, SIGNAL( agregarProducto() ), this, SLOT( agregarProducto() ) ); CBProducto->setearModelo( ecbfiltro ); // Modelo del tableview mcp = new MProductosTotales( TVProductos, ecbmprod ); mcp->calcularTotales( true ); preferencias *p = preferencias::getInstancia(); p->inicio(); p->beginGroup( "Preferencias" ); p->beginGroup( "Ventas" ); if( p->value( "buscarPrecio", true ).toBool() ) { mcp->buscarPrecios( true ); } if( p->value( "siempre_cf", false ).toBool() ) { CBCliente->setearId( 0 ); } p->endGroup(); TVProductos->setModel( mcp ); TVProductos->setItemDelegate( new DProductosTotales( TVProductos ) ); TVProductos->setAlternatingRowColors( true ); TVProductos->setSelectionBehavior( QAbstractItemView::SelectRows ); TVProductos->horizontalHeader()->setResizeMode( QHeaderView::ResizeToContents ); TVProductos->horizontalHeader()->setResizeMode( 1, QHeaderView::Stretch ); TVProductos->horizontalHeader()->setMinimumSectionSize( 140 ); TVProductos->setSortingEnabled( false ); this->addAction( new EActGuardar( this ) ); this->addAction( new EActCerrar( this ) ); connect( CBCliente, SIGNAL( currentIndexChanged( int ) ), this, SLOT( cambioCliente( int ) ) ); connect( PBEliminar, SIGNAL( clicked() ), this, SLOT( eliminarProducto() ) ); connect( PBEliminarTodo, SIGNAL( clicked() ), this, SLOT( eliminarTodo() ) ); DSBCant->setValue( 1.0 ); DSBCant->setPrefix( "" ); // Coloco el proximo numero de comprobante LNumeroComprobante->setText( LNumeroComprobante->text().append( " <b>" ).append( MFactura::proximoComprobante().aCadena() ).append( "</b>" ) ); PBEliminarDescuento->setIcon( QIcon( ":/imagenes/eliminar.png" ) ); PBAgregarDescuento->setIcon( QIcon( ":/imagenes/add.png" ) ); PBAgregarDescuento->setText( "Descuento" ); PBEliminarDescuento->setText( "Descuento" ); connect( PBAgregarDescuento, SIGNAL( clicked() ), this, SLOT( agregarDescuento() ) ); connect( PBEliminarDescuento, SIGNAL( clicked() ), this, SLOT( eliminarDescuento() ) ); // Verifico si la venta a cta corriente esta habilitada p->beginGroup( "CtaCte" ); bool ctacte_habilitada = p->value( "habilitada" ).toBool(); if( !ctacte_habilitada ) { RBContado->setChecked( true ); RBCtaCte->setEnabled( false ); } p->endGroup(); p->beginGroup( "Descuentos" ); bool usar_descuentos = p->value( "usar", false ).toBool(); p->endGroup(); p->beginGroup("Ventas"); if( p->value("filtrarProveedor").toBool() ) { connect( CBProveedor, SIGNAL( cambioIdProveedor( int ) ), this, SLOT( cambioProveedor( int ) ) ); } else {
main() { int opc, userType; char *criteria = malloc(sizeof(char)*200); char *result = malloc(sizeof(char)*BUFSIZ); Usuario* yo = malloc(sizeof(Usuario)); Producto* p = malloc(sizeof(Producto)); printf("Usuario: "); scanf("%15s",yo->login); printf("Contraseña: "); scanf("%15s",yo->pass); conectarBD(); userType = iniciarSesion(yo); if(userType == 1){ do{ //Admin User printf("\nAdministrador \n1. Mostrar productos \n2. Buscar un producto \n3. Agregar productos \n4. Cerrar sesión y salir\nSeleccione una opción: "); scanf("%d",&opc); switch(opc){ case 1: printf("%s",consultarProductos()); break; case 2: printf("Busqueda: "); scanf("%s",criteria); printf("%s", obtenerProducto(criteria)); break; case 3: //Add products printf("Introduce a continuación los datos del producto\n"); printf("idCategoria: "); setbuf( stdin, NULL ); scanf("%d",&(p->idCategoria)); printf("Nombre: "); setbuf( stdin, NULL ); gets(p->producto); printf("Precio: "); setbuf( stdin, NULL ); scanf("%f",&(p->precio)); printf("Existencia: "); setbuf( stdin, NULL ); scanf("%d",&(p->existencia)); printf("Descripción: "); setbuf( stdin, NULL ); gets(p->descripcion); agregarProducto(p); break; case 4: printf("Bye\n"); break; default: break; } }while(opc!=4); }else if(userType > 0){ do{ //Common User printf("\n1. Mostrar productos \n2. Buscar un producto \n3. Comprar productos \n4. Cerrar sesión y salir\nSeleccione una opción: "); scanf("%d",&opc); switch(opc){ case 1: printf("%s",consultarProductos()); break; case 2: printf("Busqueda: "); scanf("%s",criteria); printf("%s", obtenerProducto(criteria)); break; case 3: //Buy products break; case 4: printf("Bye\n"); break; default: break; } }while(opc!=4); } else { printf("No se encuentra el usuario\n"); } }
/*! * \brief ECBProductos::enterApretado */ void ECBProductos::enterApretado() { verificarExiste(); emit agregarProducto(); return; }