From a07485cc9e97e639470e476c9d96552462c0b1f5 Mon Sep 17 00:00:00 2001 From: Priec Date: Mon, 2 Feb 2026 23:02:27 +0100 Subject: [PATCH] dalsie --- src/lib.rs | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index 5230770..a3a8129 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -86,7 +86,46 @@ impl Index{ } pub fn uloz_do_suboru(&self, cesta_uloz: &std::path::PathBuf) -> bool { - true + let str_data = match serde_json::to_string(&self) { + Ok(x) => x, + Err(_) => return false, + }; + match std::fs::write(cesta_uloz, str_data) { + Ok(_) => true, + Err(_) => false, + } + } + + pub fn pridaj_predmet2(&mut self, predmet: Predmet) -> Result<(), ()> { + let mut je: bool; + let var_name = self.predmety.iter().any(|x| x.kod == predmet.kod); + + if var_name { + return Err(()); + } + self.predmety.push(predmet); + Ok(()) + } + + pub fn pridaj_predmet(&mut self, predmet: Predmet) -> Result<(), ()> { + let mut je: bool; + let var_name = self.predmety.iter().filter(|x| x.kod == predmet.kod).count(); + + if var_name > 0 { + return Err(()); + } else { + self.predmety.push(predmet); + } + Ok(()) + } + + pub fn odstran_predmet(&mut self, kod: &str) -> Result { + if let Some(index) = self.predmety.iter().position(|x| x.kod == kod) { + let odstranenie = self.predmety.remove(index); + return Ok(odstranenie); + } else { + Err(()) + } } }