예제 #1
0
void AnagraficaAddDialog::save(void)
{
    //Effettua diversi controlli per verificare che i dati nel dialog
    //siano stati inseriti, se tutti i controlli vengono passati esegue
    //la query.
    qDebug() << "AnagraficaAddDialog::save()";
    prepareMap();

    if (mapPersona[anagrafica::PH_RAG_SOCIALE].isEmpty()) {
        showDialogError(this, ERR020, MSG016); //NOTE codice errore 020
        ui->le_rag_sociale->setStyleSheet(anagrafica::CSS_WARNING_STYLE);
        return;
    }

    else if (mapPersona[anagrafica::PH_CLIENTE] == "n" &&
             mapPersona[anagrafica::PH_FORNITORE] == "n") {
        showDialogError(this, ERR021, MSG017); //NOTE codice errore 021
        ui->cliente_cb->setStyleSheet(anagrafica::CSS_WARNING_STYLE);
        ui->fornitore_cb->setStyleSheet(anagrafica::CSS_WARNING_STYLE);
        return;
    }

    else if (mapPersona[anagrafica::PH_COD_FISCALE].isEmpty() ||
             mapPersona[anagrafica::PH_PRT_IVA].isEmpty()) {
        showDialogError(this, ERR022, MSG018); //NOTE codice errore 022
        ui->le_cod_fiscale->setStyleSheet(anagrafica::CSS_WARNING_STYLE);
        ui->le_piva->setStyleSheet(anagrafica::CSS_WARNING_STYLE);
        return;
    }

    if (!controlloPartitaIva(mapPersona[anagrafica::PH_PRT_IVA])) {
        if (!showDialogWarning(this, ERR023, MSG019)) //NOTE codice errore 023
            return;
    }

    if (mapPersona[anagrafica::PH_COD_FISCALE] != mapPersona[anagrafica::PH_PRT_IVA]) {
        if (!controlloCodiceFiscale(mapPersona[anagrafica::PH_COD_FISCALE])) {
            if (!showDialogWarning(this, ERR024, MSG020)) //NOTE codice errore 024
                return;
        }
    }

    QSqlQuery query = prepareQuery();
    if (!query.exec()) {
        if (mapPersona.contains(anagrafica::PH_ID)) {
            showDialogError(this, ERR011, MSG005, query.lastError().text()); //NOTE codice errore 011
        }
        else {
            showDialogError(this, ERR025, MSG002, query.lastError().text()); //NOTE codice errore 025
        }
        return;
    }

    this->accept();
}
예제 #2
0
bool AnagraficaAddDialog::checkValues(void)
{
    qDebug() << "AnagraficaAddDialog::checkValues()";

    //Controllo denominazione
    if ((ui->aziendaRB->isChecked() || ui->fornitoreRB->isChecked() ||
            ui->paRB->isChecked()) && ui->denominazioneLE->text().isEmpty()) {
        ui->denominazioneLE->setStyleSheet(css::warning);
        showDialogError(this, ERR019, MSG016);
        return false;
    }

    //Controllo nome e cognome
    if (ui->clienteRB->isChecked() && (ui->nomeLE->text().isEmpty() ||
            ui->cognomeLE->text().isEmpty())) {
        ui->nomeLE->setStyleSheet(css::warning);
        ui->cognomeLE->setStyleSheet(css::warning);
        showDialogError(this, ERR020, MSG033);
        return false;
    }

    //Controllo se i campi obbligatori sono stati inseriti.
    if (!checkLineEdit(ui->pivaLE, "partita IVA") ||
            !checkLineEdit(ui->codFiscaleLE, "codice fiscale") ||
            !checkLineEdit(ui->indirizzoLE, "indirizzo") ||
            !checkComboBox(ui->cittaCB, "citta") ||
            !checkComboBox(ui->provinciaCB, "provincia") ||
            !checkComboBox(ui->capCB, "CAP") ||
            !checkComboBox(ui->statoCB, "stato"))
        return false;

    if (!controlloPartitaIva(m_mapPersona[ph::PRT_IVA]))
        if (!showDialogWarning(this, ERR023, MSG019)) //NOTE codice errore 023
            return false;

    if (m_mapPersona[ph::COD_FISCALE] != m_mapPersona[ph::PRT_IVA])
        if (!controlloCodiceFiscale(m_mapPersona[ph::COD_FISCALE]))
            if (!showDialogWarning(this, ERR024, MSG020)) //NOTE codice errore 024
                return false;

    return true;
}