本文整理汇总了C++中Azahar::getConfigTaxIsIncludedInPrice方法的典型用法代码示例。如果您正苦于以下问题:C++ Azahar::getConfigTaxIsIncludedInPrice方法的具体用法?C++ Azahar::getConfigTaxIsIncludedInPrice怎么用?C++ Azahar::getConfigTaxIsIncludedInPrice使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Azahar
的用法示例。
在下文中一共展示了Azahar::getConfigTaxIsIncludedInPrice方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: deleteSelectedItem
void PurchaseEditor::deleteSelectedItem() //added on dec 3, 2009
{
if (ui->tableView->currentRow()!=-1) {
int row = ui->tableView->currentRow();
QTableWidgetItem *item = ui->tableView->item(row, colCode);
qulonglong code = item->data(Qt::DisplayRole).toULongLong();
if (productsHash.contains(code)) {
//delete it from hash and from view
ProductInfo info = productsHash.take(code);
ui->tableView->removeRow(row);
//update qty and $ of the purchase
totalBuy -= (info.cost*info.purchaseQty);
itemCount -= info.purchaseQty;
//calculate taxes for this item. Calculated from the costs.
Azahar *myDb = new Azahar;
myDb->setDatabase(db);
double cWOTax = 0;
if (myDb->getConfigTaxIsIncludedInPrice())
cWOTax= (info.cost)/(1+((info.tax+info.extratax)/100));
else
cWOTax = info.cost;
double tax = cWOTax*info.purchaseQty*(info.tax/100);
double tax2= cWOTax*info.purchaseQty*(info.extratax/100);
totalTaxes = totalTaxes - tax - tax2;
qDebug()<<"Total taxes updated:"<<totalTaxes;
delete myDb;
ui->groupBox->setTitle( i18n("Items in this purchase [ %1 items, %2 ]",itemCount,
KGlobal::locale()->formatMoney(totalBuy, QString(), 2)
) );
}
}
}
示例2: insertProduct
void PurchaseEditor::insertProduct(ProductInfo info)
{
//When a product is already on list, increment qty.
bool existed = false;
if (info.code>0) {
if (productsHash.contains(info.code)) {
info = productsHash.take(info.code); //re get it from hash
info.purchaseQty += getPurchaseQty();
itemCount += getPurchaseQty();
totalBuy = totalBuy + info.cost*getPurchaseQty();
existed = true;
} else {
itemCount += info.purchaseQty;
totalBuy = totalBuy + info.cost*info.purchaseQty;
}
//calculate taxes for this item. Calculated from the costs.
Azahar *myDb = new Azahar;
myDb->setDatabase(db);
double cWOTax = 0;
if (myDb->getConfigTaxIsIncludedInPrice())
cWOTax= (info.cost)/(1+((info.tax+info.extratax)/100));
else
cWOTax = info.cost;
double tax = cWOTax*info.purchaseQty*(info.tax/100);
double tax2= cWOTax*info.purchaseQty*(info.extratax/100);
totalTaxes += tax + tax2; // add this product taxes to the total taxes in the purchase.
qDebug()<<"Total taxes updated:"<<totalTaxes<<" Taxes for this product:"<<tax+tax2;
delete myDb;
double finalCount = info.purchaseQty + info.stockqty;
info.groupElementsStr=""; //grouped products cannot be a group.
//insert item to productsHash
productsHash.insert(info.code, info);
//insert item to ListView
if (!existed) {
int rowCount = ui->tableView->rowCount();
ui->tableView->insertRow(rowCount);
ui->tableView->setItem(rowCount, 0, new QTableWidgetItem(QString::number(info.code)));
ui->tableView->setItem(rowCount, 1, new QTableWidgetItem(info.desc));
ui->tableView->setItem(rowCount, 2, new QTableWidgetItem(QString::number(info.purchaseQty)));
ui->tableView->setItem(rowCount, 3, new QTableWidgetItem(QString::number(finalCount)));
} else {
//simply update the groupView with the new qty
for (int ri=0; ri<ui->tableView->rowCount(); ++ri)
{
QTableWidgetItem * item = ui->tableView->item(ri, 1);
QString name = item->data(Qt::DisplayRole).toString();
if (name == info.desc) {
//update
QTableWidgetItem *itemQ = ui->tableView->item(ri, 2);
itemQ->setData(Qt::EditRole, QVariant(QString::number(info.purchaseQty)));
itemQ = ui->tableView->item(ri, 3);
itemQ->setData(Qt::EditRole, QVariant(QString::number(finalCount)));
continue; //HEY PURIST, WHEN I GOT SOME TIME I WILL CLEAN IT
}
}
}
ui->tableView->horizontalHeader()->setResizeMode(QHeaderView::Interactive);
ui->tableView->resizeRowsToContents();
//totalBuy = totalBuy + info.cost*info.purchaseQty;
//itemCount = itemCount + info.purchaseQty;
//update info on group caption
ui->groupBox->setTitle( i18n("Items in this purchase [ %1 items, %2 ]",itemCount,
KGlobal::locale()->formatMoney(totalBuy, QString(), 2)
) );
qDebug()<<"totalBuy until now:"<<totalBuy<<" itemCount:"<<itemCount<<"info.cost:"<<info.cost<<"info.purchaseQty:"<<info.purchaseQty;
} else qDebug()<<"Item "<<info.code<<" already on hash";
}
示例3: calculatePrice
void PurchaseEditor::calculatePrice()
{
double finalPrice=0.0;
bool costOk,profitOk,taxOk,etaxOk;
if (ui->editCost->text().isEmpty() && !ui->groupBoxedItem->isChecked() ) {
ui->editCost->setText("0.0");
//ui->editCost->setFocus();
ui->editCost->setStyleSheet("background-color: rgb(255,100,0); color:white; selection-color: white; font-weight:bold;");
costOk = false;
} else {
ui->editCost->setStyleSheet("");
costOk=true;
}
if (ui->editUtility->text().isEmpty()) {
//ui->editUtility->setFocus();
ui->editUtility->setText("0.0");
ui->editUtility->setStyleSheet("background-color: rgb(255,100,0); color:white; selection-color: white; font-weight:bold;");
profitOk=false;
} else {
ui->editUtility->setStyleSheet("");
profitOk=true;
}
if (ui->editTax->text().isEmpty()) {
ui->editTax->setText("0.0");
//ui->editTax->setFocus();
ui->editTax->selectAll();
ui->editTax->setStyleSheet("background-color: rgb(255,100,0); color:white; selection-color: white; font-weight:bold;");
taxOk=false;
} else {
ui->editTax->setStyleSheet("");
taxOk=true;
}
if (ui->editExtraTaxes->text().isEmpty()) {
ui->editExtraTaxes->setText("0.0");
//ui->editExtraTaxes->setFocus();
ui->editExtraTaxes->selectAll();
ui->editExtraTaxes->setStyleSheet("background-color: rgb(255,100,0); color:white; selection-color: white; font-weight:bold;");
etaxOk = false;
} else {
etaxOk = true;
ui->editExtraTaxes->setStyleSheet("");
}
//now check which are ZEROs
// if (!ui->editExtraTaxes->text().isEmpty() && ui->editExtraTaxes->text().toDouble()<=0)
// ui->editExtraTaxes->setStyleSheet("background-color: rgb(255,100,0); color:white; selection-color: white; font-weight:bold;");
// else ui->editExtraTaxes->setStyleSheet("");
if (!ui->editTax->text().isEmpty() && ui->editTax->text().toDouble()<=0)
ui->editTax->setStyleSheet("background-color: rgb(255,100,0); color:white; selection-color: white; font-weight:bold;");
else ui->editTax->setStyleSheet("");
if (!ui->editUtility->text().isEmpty() && ui->editUtility->text().toDouble()<=0)
ui->editUtility->setStyleSheet("background-color: rgb(255,100,0); color:white; selection-color: white; font-weight:bold;");
else ui->editUtility->setStyleSheet("");
if (!ui->editCost->text().isEmpty() && ui->editCost->text().toDouble()<=0)
ui->editCost->setStyleSheet("background-color: rgb(255,100,0); color:white; selection-color: white; font-weight:bold;");
else ui->editCost->setStyleSheet("");
if (costOk && profitOk && taxOk && etaxOk ) {
//TODO: if TAXes are included in cost...
double cWOTax = 0;
double tax = ui->editTax->text().toDouble();
double tax2 = ui->editExtraTaxes->text().toDouble();
double utility = ui->editUtility->text().toDouble();
Azahar *myDb = new Azahar;
myDb->setDatabase(db);
// We assume that tax rules for prices also apply to costs.
if (myDb->getConfigTaxIsIncludedInPrice())
cWOTax= (ui->editCost->text().toDouble())/(1+((tax+tax2)/100));
else
cWOTax = ui->editCost->text().toDouble();
double cost = cWOTax;
utility = ((utility/100)*cost);
double cu=cost+utility;
//We need the tax recalculated from the costs+utility, this time taxes are expressed in $
tax = ((tax/100)*(cost)); ///NOTE fixed:when paying for a product we pay taxes for the cost not the cost+profit
tax2 = ((tax2/100)*(cost));
if (ui->groupBoxedItem->isChecked()){
double itemsPerBox = 0;
double pricePerBox = 0;
if (!ui->editItemsPerBox->text().isEmpty()) itemsPerBox = ui->editItemsPerBox->text().toDouble();
if (!ui->editPricePerBox->text().isEmpty()) pricePerBox = ui->editPricePerBox->text().toDouble();
if (!ui->editItemsPerBox->text().isEmpty() || !ui->editPricePerBox->text().isEmpty()) return;
tax = ui->editTax->text().toDouble();
tax2 = ui->editExtraTaxes->text().toDouble();
if (myDb->getConfigTaxIsIncludedInPrice())
cWOTax= (pricePerBox/itemsPerBox)/(1+((tax+tax2)/100));
else
cWOTax = pricePerBox/itemsPerBox;
cost = cWOTax;
ui->editCost->setText(QString::number(cost));
//.........这里部分代码省略.........