Update account amounts on account modification/add/deletion. Before it was only on generate new months and update next months
This commit is contained in:
parent
6efa5183ab
commit
b1ce5fc2a2
|
@ -110,6 +110,11 @@ int KissCount::CalcAccountAmount(int id, int month, int year, bool* had_values)
|
||||||
|
|
||||||
void KissCount::UpdateOperation(Operation& op, bool checkTransfert)
|
void KissCount::UpdateOperation(Operation& op, bool checkTransfert)
|
||||||
{
|
{
|
||||||
|
Operation oldOp;
|
||||||
|
int accountAmount;
|
||||||
|
|
||||||
|
if(!op.meta)
|
||||||
|
|
||||||
// Unlink
|
// Unlink
|
||||||
if (checkTransfert)
|
if (checkTransfert)
|
||||||
{
|
{
|
||||||
|
@ -122,26 +127,59 @@ void KissCount::UpdateOperation(Operation& op, bool checkTransfert)
|
||||||
// Link
|
// Link
|
||||||
if (checkTransfert)
|
if (checkTransfert)
|
||||||
_user->LinkOrUnlinkOperation(op);
|
_user->LinkOrUnlinkOperation(op);
|
||||||
|
|
||||||
|
if(!op.meta)
|
||||||
|
{
|
||||||
|
_db->GetOperation(op.id, &oldOp);
|
||||||
|
|
||||||
|
accountAmount = _db->CalcAccountAmount(oldOp.account, oldOp.month, oldOp.year, 0);
|
||||||
|
_db->SetAccountAmount(oldOp.account, oldOp.month, oldOp.year, accountAmount);
|
||||||
|
|
||||||
|
accountAmount = _db->CalcAccountAmount(op.account, op.month, op.year, 0);
|
||||||
|
_db->SetAccountAmount(op.account, op.month, op.year, accountAmount);
|
||||||
|
}
|
||||||
|
|
||||||
|
_wxUI->NeedReload();
|
||||||
}
|
}
|
||||||
|
|
||||||
int KissCount::AddOperation(Operation& op, bool checkTransfert)
|
int KissCount::AddOperation(Operation& op, bool checkTransfert)
|
||||||
{
|
{
|
||||||
|
int accountAmount;
|
||||||
int ret = _db->AddOperation(_user, op, checkTransfert);
|
int ret = _db->AddOperation(_user, op, checkTransfert);
|
||||||
|
|
||||||
if (checkTransfert && op.transfert)
|
if (checkTransfert && op.transfert)
|
||||||
_user->LinkOrUnlinkOperation(op);
|
_user->LinkOrUnlinkOperation(op);
|
||||||
|
|
||||||
|
if (!op.meta)
|
||||||
|
{
|
||||||
|
accountAmount = _db->CalcAccountAmount(op.account, op.month, op.year, 0);
|
||||||
|
_db->SetAccountAmount(op.account, op.month, op.year, accountAmount);
|
||||||
|
}
|
||||||
|
|
||||||
|
_wxUI->NeedReload();
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void KissCount::DeleteOperation(Operation& op)
|
void KissCount::DeleteOperation(Operation& op)
|
||||||
{
|
{
|
||||||
|
int accountAmount;
|
||||||
|
|
||||||
if (op.transfert)
|
if (op.transfert)
|
||||||
{
|
{
|
||||||
op.transfert = 0;
|
op.transfert = 0;
|
||||||
_user->LinkOrUnlinkOperation(op);
|
_user->LinkOrUnlinkOperation(op);
|
||||||
}
|
}
|
||||||
|
|
||||||
_db->DeleteOperation(_user, op);
|
_db->DeleteOperation(_user, op);
|
||||||
|
|
||||||
|
if (!op.meta)
|
||||||
|
{
|
||||||
|
accountAmount = _db->CalcAccountAmount(op.account, op.month, op.year, 0);
|
||||||
|
_db->SetAccountAmount(op.account, op.month, op.year, accountAmount);
|
||||||
|
}
|
||||||
|
|
||||||
|
_wxUI->NeedReload();
|
||||||
}
|
}
|
||||||
|
|
||||||
void KissCount::DeleteOperations(int month, int year)
|
void KissCount::DeleteOperations(int month, int year)
|
||||||
|
@ -155,6 +193,7 @@ void KissCount::DeleteOperations(int month, int year)
|
||||||
delete _user->_operations[year];
|
delete _user->_operations[year];
|
||||||
_user->_operations.erase(year);
|
_user->_operations.erase(year);
|
||||||
}
|
}
|
||||||
|
_wxUI->NeedReload();
|
||||||
}
|
}
|
||||||
|
|
||||||
int KissCount::MetaAmount(int id)
|
int KissCount::MetaAmount(int id)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user