pripravene na implementaciu logiky
This commit is contained in:
62
src/logic.rs
62
src/logic.rs
@@ -4,48 +4,56 @@ use serde::{Deserialize, Serialize};
|
||||
use std::fmt;
|
||||
|
||||
#[derive(Default, Serialize, Deserialize, PartialEq)]
|
||||
enum StavKnihy {
|
||||
enum Stav {
|
||||
#[default] Nova = 0,
|
||||
Pozicana = 1,
|
||||
Pouzivana = 1,
|
||||
Poskodena = 2,
|
||||
Vyradena = 3,
|
||||
}
|
||||
|
||||
impl fmt::Display for StavKnihy {
|
||||
impl fmt::Display for Stav {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
match self {
|
||||
StavKnihy::Nova => write!(f, "Nova"),
|
||||
StavKnihy::Pozicana => write!(f, "Pozicana"),
|
||||
StavKnihy::Poskodena => write!(f, "Poskodena"),
|
||||
StavKnihy::Vyradena => write!(f, "Vyradena")
|
||||
Stav::Nova => write!(f, "Nova"),
|
||||
Stav::Pouzivana => write!(f, "Pouzivana"),
|
||||
Stav::Poskodena => write!(f, "Poskodena"),
|
||||
Stav::Vyradena => write!(f, "Vyradena")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Default, Serialize, Deserialize)]
|
||||
struct Kniha {
|
||||
authors: Vec<String>,
|
||||
title: String,
|
||||
publisher: String,
|
||||
genre: String,
|
||||
page_count: usize,
|
||||
autori: Vec<String>,
|
||||
nazov: String,
|
||||
vydavatelstvo: String,
|
||||
zaner: String,
|
||||
pocet_stran: usize,
|
||||
isbn: String,
|
||||
year: usize,
|
||||
pozicane: bool,
|
||||
stav_knihy: StavKnihy,
|
||||
rok_vydania: usize,
|
||||
je_pozicana: bool,
|
||||
stav_knihy: Stav,
|
||||
}
|
||||
|
||||
impl fmt::Display for Kniha {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
write!(f, "({}, {}, {}, {}, {}, {}, {}, {}, {}",
|
||||
self.authors.join(", "),
|
||||
self.title,
|
||||
self.publisher,
|
||||
self.genre,
|
||||
self.page_count,
|
||||
write!(f, "(Autori: {},
|
||||
Nazov: {},
|
||||
Vydavatelstvo: {},
|
||||
Zaner: {},
|
||||
Pocet stran: {},
|
||||
ISBN: {},
|
||||
Rok vydania: {},
|
||||
Je pozicana {},
|
||||
Stav knihy: {})",
|
||||
self.autori.join(", "),
|
||||
self.nazov,
|
||||
self.vydavatelstvo,
|
||||
self.zaner,
|
||||
self.pocet_stran,
|
||||
self.isbn,
|
||||
self.year,
|
||||
self.pozicane,
|
||||
self.rok_vydania,
|
||||
self.je_pozicana,
|
||||
self.stav_knihy,
|
||||
)
|
||||
}
|
||||
@@ -54,5 +62,11 @@ impl fmt::Display for Kniha {
|
||||
|
||||
#[derive(Default, Serialize, Deserialize)]
|
||||
struct Kniznica {
|
||||
|
||||
knihy: Vec<Kniha>
|
||||
}
|
||||
|
||||
impl Kniznica {
|
||||
// fn pridaj_knihu
|
||||
// fn odstran_knihu
|
||||
// fn daj_knihu_podla_isbn
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user