From 236a2609eb153ae428b35c9a31eaedf197a5b036 Mon Sep 17 00:00:00 2001 From: Benedict Börger Date: Fri, 28 Jun 2019 22:00:33 +0200 Subject: [web_frontemd] move date filtering to util --- src/web_frontend/balance.rs | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) (limited to 'src/web_frontend/balance.rs') 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()}; -- cgit v1.2.3-70-g09d2