/*! \fn PanelCash::slot_edit_change(const QString& text) */ void PanelCash::slot_edit_change(const QString& text) { if(text.isEmpty()) return; QString fromUnit1 = comboBox1->currentText(); QString toUnit2 = comboBox2->currentText(); double d_rate = convert_currency(text.toDouble(), fromUnit1, toUnit2); eUnit2->setText(QString::number(d_rate,'F',2)); }
/*! \fn PanelCash::slot_unit2_change(const QString& text) */ void PanelCash::slot_unit2_change(const QString& text) { QString fromUnit1 = comboBox1->currentText(); QString toUnit2 = text; double d_rate = eUnit1->text().toDouble(); if(!d_rate) return; d_rate = convert_currency(d_rate, fromUnit1, toUnit2); eUnit2->setText(QString::number(d_rate,'F',2)); }
void AccountPanelImpl::slot_unit1_change(const QString& text) { QString fromUnit1 = text; QString toUnit2 = comboBox2->currentText(); double d_rate = eUnit1->text().toDouble(); if(!d_rate) { return; } d_rate = convert_currency(d_rate, fromUnit1, toUnit2); eUnit2->setText(QString::number(d_rate,'F',2)); }
void set_data_creditor(Db_dat data) { QSqlQuery query(QSqlDatabase::database(data_u.NameDB)); double idata = 0; QString s_cash, s_cash_credit; get_data_from_bank(idata, s_cash); query.prepare("select * from creditors where 1"); query.exec(); bool b=false;//find record id finded - change, else create new while (query.next()) { QSqlQuery query_in(QSqlDatabase::database(data_u.NameDB)); if(data.date == query.value(0).toString()) { s_cash_credit = query.value(3).toString(); double n = query.value(2).toDouble()-data.count_d; if (n > 0) { query_in.prepare("update creditors set count=:count where (date_c=:date_c)"); query_in.bindValue(":count", n); query_in.bindValue(":date_c", data.date); } else { query_in.prepare("delete from creditors where (date_c=:date_c)"); query_in.bindValue(":date_c", data.date); } if (!query_in.exec()) { qDebug() << query_in.lastError(); return; } b = true; break; } } if (!b) { //create new credit idata -= data.count_d;//check many in count if(idata<0) { QMessageBox::information(0,QObject::tr("Erorr operation"),QObject::tr("No cash")); return; } query.prepare("INSERT INTO creditors (date_c, name_c, count," "currency_name, percent, type, description, date_incr) " "VALUES (:date_c, :name, :count, :currency_name, :percent," ":type, :description, :date_incr)"); query.bindValue(":count", data.count_d); query.bindValue(":currency_name", s_cash); query.bindValue(":percent", data.percent); query.bindValue(":type", data.type); query.bindValue(":date_c", data.date); query.bindValue(":name", data.Name); query.bindValue(":description", data.descr); query.bindValue(":date_incr", data.date_incr); if (!query.exec()) { qDebug() << query.lastError(); return; } } Db_dat data_o; QString s_h = "<b>%1</b> <b>%2:</b>"; bool bconverted = false; double d_c_cash= data.count_d; if(b) { if(s_cash == s_cash_credit) { //convert cash if currency bank idata += data.count_d; // not equable with currency credit } else { d_c_cash = convert_currency(data.count_d,s_cash_credit,s_cash); idata += d_c_cash; bconverted = true; } data_o.descr = s_h.arg(QObject::tr("Credit amortiazation")).arg(QObject::tr("debtor"))+data.Name; if (bconverted) { data_o.descr+="<br><b><font color=\"red\">"+QObject::tr("Cash automatically converted: from") +" "+QString::number(data.count_d)+" "+s_cash_credit +" "+QObject::tr("to")+" " +QString::number(d_c_cash)+""+s_cash+"</font></b>"; } else { data_o.descr = data.descr; } } data_o.date = data.date; data_o.currency = s_cash; data_o.count_d = d_c_cash; add_operation(b, data_o); set_data_to_bank(idata, s_cash); }