diff options
Diffstat (limited to 'src/banking/mod.rs')
| -rw-r--r-- | src/banking/mod.rs | 61 |
1 files changed, 2 insertions, 59 deletions
diff --git a/src/banking/mod.rs b/src/banking/mod.rs index 410bae1..e936286 100644 --- a/src/banking/mod.rs +++ b/src/banking/mod.rs @@ -1,59 +1,2 @@ - -use parsers::csv::CsvFile; - - -pub struct Account { - name : String, - iban : String, - transactions : Vec<Transaction> -} - - -#[derive(Serialize)] -pub struct Transaction { - pub sender_name : String, - pub amount : f32, - pub reference : String, - pub date : chrono::NaiveDate -} - -impl Transaction { - pub fn from_sparkasse_csv_file(file : CsvFile) -> Vec<Transaction> { - let mut ret = Vec::new(); - for line in file.iter() { - let mut sender_name_f = String::from(""); - let mut sender_iban_f = String::from(""); - let mut amount_f : f32 = 0.0; - let mut reference_f = String::from(""); - let mut date_f = chrono::NaiveDate::parse_from_str("01.01.2019", "%d.%m.%Y").unwrap(); - match line.get(&String::from("Kontonummer")) { - Some(value) => sender_iban_f = value.to_string(), - None => println!("missing sender") - } - match line.get(&String::from("Beguenstigter/Zahlungspflichtiger")) { - Some(value) => sender_name_f = value.to_string(), - None => println!("missing sender") - } - match line.get(&String::from("Verwendungszweck")) { - Some(value) => reference_f = value.to_string(), - None => println!("missing refernce") - } - match line.get(&String::from("Betrag")) { - Some(value) => amount_f = value.parse().unwrap(), - None => println!("missing amount") - } - match line.get(&String::from("Valutadatum")) { - Some(value) => { - date_f = chrono::NaiveDate::parse_from_str(value, "%d.%m.%y").unwrap();} , - None => println!("missing date") - } - ret.push(Transaction { - sender_name : sender_name_f, - amount : amount_f, - reference : reference_f, - date : date_f }); - - } - ret - } -} +pub mod asset; +pub mod account; |
