Fixed people prices recalculation.
This commit is contained in:
+18
-14
@@ -238,10 +238,26 @@ void CampService::calcPeople(CampDataPtr data)
|
||||
first = first.addDays(daysEnd);
|
||||
int endAge = first.year() - 1;
|
||||
|
||||
auto setTotal = [&](){
|
||||
if (sale != QDecDouble(0) && !fixedSale)
|
||||
{
|
||||
QDecDouble itemSale = (item->price() * sale) / 100;
|
||||
item->setSale(itemSale);
|
||||
item->setTotalPrice(item->price() - itemSale);
|
||||
}
|
||||
else
|
||||
{
|
||||
item->setSale(0);
|
||||
item->setTotalPrice(item->price());
|
||||
}
|
||||
|
||||
addAccFee(data, item, startAge, endAge, days);
|
||||
};
|
||||
|
||||
if (!item->personPrice().isNull())
|
||||
{
|
||||
item->setPrice(item->personPrice()->price() * days);
|
||||
addAccFee(data, item, startAge, endAge, days);
|
||||
setTotal();
|
||||
continue;
|
||||
}
|
||||
else
|
||||
@@ -258,19 +274,7 @@ void CampService::calcPeople(CampDataPtr data)
|
||||
}
|
||||
}
|
||||
|
||||
if (sale != QDecDouble(0) && !fixedSale)
|
||||
{
|
||||
QDecDouble itemSale = (item->price() * sale) / 100;
|
||||
item->setSale(itemSale);
|
||||
item->setTotalPrice(item->price() - itemSale);
|
||||
}
|
||||
else
|
||||
{
|
||||
item->setSale(0);
|
||||
item->setTotalPrice(item->price());
|
||||
}
|
||||
|
||||
addAccFee(data, item, startAge, endAge, days);
|
||||
setTotal();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user