2020-09-20 20:27:38 +00:00
# include "RenewalTab.h"
# include "ui_RenewalTab.h"
RenewalTab : : RenewalTab ( QWidget * parent ) :
QWidget ( parent ) ,
ui ( new Ui : : RenewalTab )
{
ui - > setupUi ( this ) ;
ui - > table - > setModel ( & model ) ;
2020-10-31 21:45:29 +00:00
QSqlQuery query ;
QSqlRecord record ;
{
query . prepare ( " SELECT DISTINCT(YEAR(anno)) AS anno FROM iscrizione UNION SELECT YEAR(CURRENT_DATE()) AS anno UNION SELECT YEAR(CURRENT_DATE()) + 1 AS anno; " ) ;
if ( ! query . exec ( ) ) status ( Ui : : ERROR , query . lastError ( ) . text ( ) ) ;
record = query . record ( ) ;
while ( query . next ( ) ) {
const int anno = query . value ( record . indexOf ( " anno " ) ) . toInt ( ) ;
ui - > renewalYear - > addItem ( QString : : number ( anno ) , anno ) ;
}
2021-01-23 16:20:50 +00:00
int current_year ;
QDate : : currentDate ( ) . getDate ( & current_year , nullptr , nullptr ) ;
int current_year_index = ui - > renewalYear - > findData ( current_year ) ;
if ( current_year_index ! = - 1 ) ui - > renewalYear - > setCurrentIndex ( current_year_index ) ;
2020-10-31 21:45:29 +00:00
}
2020-09-20 20:27:38 +00:00
}
void RenewalTab : : refresh ( ) {
2020-10-31 21:45:29 +00:00
const int anno = ui - > renewalYear - > currentData ( ) . toInt ( ) ;
query . prepare ( " SELECT YEAR(i.anno) AS anno, s.cognome, s.nome FROM iscrizione AS i INNER JOIN socio AS s ON s.id = i.socio WHERE YEAR(i.anno) = :anno ORDER BY s.cognome " ) ;
query . bindValue ( " :anno " , anno ) ;
2020-09-20 20:27:38 +00:00
if ( ! query . exec ( ) ) {
status ( Ui : : ERROR , model . lastError ( ) . text ( ) ) ;
}
2021-01-21 19:59:26 +00:00
ui - > counterLabel - > setText ( QString ( " %1 soci " ) . arg ( query . size ( ) ) ) ;
2020-09-20 20:27:38 +00:00
model . setQuery ( query ) ;
}
void RenewalTab : : on_buttonRefresh_clicked ( ) {
refresh ( ) ;
}