diff options
| author | Benedict Börger <benedict@0xb8000.de> | 2019-06-28 22:00:33 +0200 |
|---|---|---|
| committer | Benedict Börger <benedict@0xb8000.de> | 2019-06-28 22:00:33 +0200 |
| commit | 236a2609eb153ae428b35c9a31eaedf197a5b036 (patch) | |
| tree | ae70d754d402184c664b0739f3f83c6b969376a9 /src/web_frontend/balance.rs | |
| parent | 5d33ed945c5be832d6a6e08eda4e35dde00ac362 (diff) | |
[web_frontemd] move date filtering to util
Diffstat (limited to 'src/web_frontend/balance.rs')
| -rw-r--r-- | src/web_frontend/balance.rs | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/src/web_frontend/balance.rs b/src/web_frontend/balance.rs index f05b69a..98d86b6 100644 --- a/src/web_frontend/balance.rs +++ b/src/web_frontend/balance.rs @@ -49,28 +49,29 @@ pub fn balance_handler(account : &RawStr, start : Option<&RawStr>, end : Option< let asset_ini = "data/asset.ini"; let asset : Asset = crate::banking::asset::Asset::from_ini_file(asset_ini); - let transactions = asset.get_account_by_name(&account_name); - let acc; - match transactions { - Some(trans) => acc = trans, - None => panic!("could not read file") - } - let t = acc.transactions; + let transactions = asset.get_account_by_name(&account_name); + let acc; + match transactions { + Some(trans) => acc = trans, + None => panic!("could not read file") + } + let t = acc.transactions; - let mut earn_spend_v = Vec::new(); + let mut earn_spend_v = Vec::new(); for date in date_range { - let result : Vec<_> = t.iter().filter(|x| x.date.month() == date.month() && x.date.year() == date.year()).collect(); - let mut earn = 0.0; - let mut spend = 0.0; - for r in &result { + let result : Vec<_> = t.iter().filter(|x| x.date.month() == date.month() && x.date.year() == date.year()).collect(); + let mut earn = 0.0; + let mut spend = 0.0; + for r in &result { if r.amount > 0.0 { earn = earn + r.amount; } else { spend = spend + r.amount.abs(); } - } - earn_spend_v.push(MonthEarnSpend { name : date.to_string(), earned : earn, spent : spend}); + } + earn_spend_v.push(MonthEarnSpend { name : date.to_string(), earned : earn, spent : spend}); } + let context = BalanceContext { account_name : account_name, months : earn_spend_v , date_start : date_start.to_string()[0..7].to_string(), date_end : date_end.to_string()[0..7].to_string()}; |
