Initial commit
This commit is contained in:
39
models/summarymodel.cpp
Normal file
39
models/summarymodel.cpp
Normal file
@@ -0,0 +1,39 @@
|
||||
#include "summarymodel.h"
|
||||
|
||||
QVariantList SummaryModel::items() const
|
||||
{
|
||||
return m_items.values();
|
||||
}
|
||||
|
||||
float SummaryModel::sum() const
|
||||
{
|
||||
float res = 0.0;
|
||||
for (auto it = m_items.constBegin(); it != m_items.constEnd(); ++it) {
|
||||
QVariantMap item = it.value().toMap();
|
||||
int count = item.value("count", 0).toInt();
|
||||
float price = item.value("cost", 0.0).toFloat();
|
||||
res += count * price;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
void SummaryModel::setItemCount(QVariantMap item, int count)
|
||||
{
|
||||
QString id = item.value("id", QString()).toString();
|
||||
|
||||
if (count) {
|
||||
item["count"] = count;
|
||||
m_items[id] = item;
|
||||
} else {
|
||||
m_items.remove(id);
|
||||
}
|
||||
|
||||
emit itemsChanged();
|
||||
}
|
||||
|
||||
void SummaryModel::clear()
|
||||
{
|
||||
m_items.clear();
|
||||
|
||||
emit itemsChanged();
|
||||
}
|
||||
Reference in New Issue
Block a user