/// <summary> /// Metoda koja služi za dohvaćanje ispravno unesenih tvrtki, redaka /// </summary> /// <param name="nizRedaka"></param> /// <param name="splitter"></param> /// <returns>Vraća listu ispravnih podataka</returns> private static List <Tvrtka> DohvatiIspravneTvrtke(string[] nizRedaka, char splitter) { List <Tvrtka> izlaznaLista = new List <Tvrtka>(); string[] atributiZaglavlja = nizRedaka[0].Split(splitter); for (int i = 1; i < nizRedaka.Length; i++) { int brojGresaka = 0; string[] privremeniObjekt = nizRedaka[i].Split(splitter); /*if (!Datoteka.ProvjeriBrojAtributa(privremeniObjekt, atributiZaglavlja.Length)) * { * brojGresaka++; * Console.Write("Neispravan broj atributa! --> "); * } * else*/if (!Datoteka.IspravanInt(privremeniObjekt[0])) { brojGresaka++; Console.Write("ID tvrtke mora biti cijeli broj! --> "); } else if (!Datoteka.IspravanString(privremeniObjekt[1])) { brojGresaka++; Console.Write("Neispravan naziv tvrtke! --> "); } else if (!Datoteka.IspravanInt(privremeniObjekt[2]) && privremeniObjekt[2] == null) { brojGresaka++; Console.Write("Nadređena jedinica mora biti cijeli broj! --> "); } else if (!Datoteka.IspravanString(privremeniObjekt[3]) && privremeniObjekt[3] == null) { brojGresaka++; Console.Write("Neispravno unesene lokacije! --> "); } /*else if (!Datoteka.IspravanInt(privremeniObjekt[3])) * { * brojGresaka++; * Console.Write("Lokacija mora biti cijeli broj! --> "); * }*/ if (brojGresaka != 0) { Ispis.IspisGreskeRedak(i, nizRedaka[i]); } else { izlaznaLista.Add(IzradiTvrtku(privremeniObjekt)); } } return(izlaznaLista); }
/// <summary> /// Metoda koja služi za dohvaćanje ispravnog cjenika, redaka /// </summary> /// <param name="nizRedaka"></param> /// <param name="splitter"></param> /// <returns>Vraća listu sa ispravnim elementima</returns> private static List <Cjenik> DohvatiIspravanCjenik(string[] nizRedaka, char splitter) { TvrtkaSingleton tvrtka = TvrtkaSingleton.GetTvrtkaInstance(); List <Cjenik> izlaznaLista = new List <Cjenik>(); string[] atributiZaglavlja = nizRedaka[0].Split(splitter); for (int i = 1; i < nizRedaka.Length; i++) { int brojGresaka = 0; string[] privremeniObjekt = nizRedaka[i].Split(splitter); if (!Datoteka.ProvjeriBrojAtributa(privremeniObjekt, atributiZaglavlja.Length)) { brojGresaka++; Console.Write("Neispravan broj atributa! --> "); } else if (!Datoteka.IspravanInt(privremeniObjekt[0])) { brojGresaka++; Console.Write("ID vozila mora biti cijeli broj! --> "); } else if (!PostojiVozilo(privremeniObjekt[0])) { brojGresaka++; Console.Write("Uneseno vozilo ne postoji! --> "); } else if (!Datoteka.IspravanDouble(privremeniObjekt[1])) { brojGresaka++; Console.Write("Cijena najma mora biti broj! --> "); } else if (!Datoteka.IspravanDouble(privremeniObjekt[2])) { brojGresaka++; Console.Write("Cijena po satu mora biti broj! --> "); } else if (!Datoteka.IspravanDouble(privremeniObjekt[3])) { brojGresaka++; Console.Write("Cijena po km mora biti broj! --> "); } if (brojGresaka != 0) { Ispis.IspisGreskeRedak(i, nizRedaka[i]); } else { izlaznaLista.Add(IzradiCjenik(privremeniObjekt)); } } return(izlaznaLista); }
/// <summary> /// Metoda koja služi za dohvaćanje ispravno unesenih osoba, redaka /// </summary> /// <param name="nizRedaka"></param> /// <param name="splitter"></param> /// <returns>Vraća listu ispravnih podataka</returns> private static List <Osoba> DohvatiIspravneOsobe(string[] nizRedaka, char splitter) { List <Osoba> izlaznaLista = new List <Osoba>(); string[] atributiZaglavlja = nizRedaka[0].Split(splitter); for (int i = 1; i < nizRedaka.Length; i++) { int brojGresaka = 0; string[] privremeniObjekt = nizRedaka[i].Split(splitter); if (!Datoteka.ProvjeriBrojAtributa(privremeniObjekt, atributiZaglavlja.Length)) { brojGresaka++; Console.Write("Neispravan broj atributa! --> "); } else if (!Datoteka.IspravanInt(privremeniObjekt[0])) { brojGresaka++; Console.Write("ID osobe mora biti cijeli broj! --> "); } else if (!Datoteka.IspravanString(privremeniObjekt[1])) { brojGresaka++; Console.Write("Neispravno ime i prezime osobe! --> "); } else if (!Datoteka.IspravanInt(privremeniObjekt[2])) { brojGresaka++; Console.Write("Ugovor mora biti cijeli broj! --> "); } else if (int.Parse(privremeniObjekt[2].Trim()) != 0 && int.Parse(privremeniObjekt[2].Trim()) != 1) { brojGresaka++; Console.Write("Ugovor mora biti 0 ili 1! --> "); } if (brojGresaka != 0) { Ispis.IspisGreskeRedak(i, nizRedaka[i]); } else { izlaznaLista.Add(IzradiOsobu(privremeniObjekt)); } } return(izlaznaLista); }
/// <summary> /// Metoda koja vraća retke odnosno ispravno unesena vozila /// </summary> /// <param name="nizRedaka"></param> /// <param name="splitter"></param> /// <returns>Vraća listu sa ispravnim zapisima</returns> private static List <Vozilo> DohvatiIspravnaVozila(string[] nizRedaka, char splitter) { TvrtkaSingleton tvrtka = TvrtkaSingleton.GetTvrtkaInstance(); List <Vozilo> izlaznaLista = new List <Vozilo>(); string[] atributiZaglavlja = nizRedaka[0].Split(splitter); for (int i = 1; i < nizRedaka.Length; i++) { int brojGresaka = 0; string[] privremeniObjekt = nizRedaka[i].Split(splitter); if (!Datoteka.ProvjeriBrojAtributa(privremeniObjekt, atributiZaglavlja.Length)) { brojGresaka++; Console.Write("Neispravan broj atributa! --> "); } else if (!Datoteka.IspravanInt(privremeniObjekt[0])) { brojGresaka++; Console.Write("ID vozila mora biti cijeli broj! --> "); } else if (!Datoteka.IspravanString(privremeniObjekt[1])) { brojGresaka++; Console.Write("Neispravan naziv vozila! --> "); } else if (!Datoteka.IspravanInt(privremeniObjekt[2])) { brojGresaka++; Console.Write("Vrijeme punjenja baterije mora biti cijeli broj! --> "); } else if (!Datoteka.IspravanInt(privremeniObjekt[3])) { brojGresaka++; Console.Write("Domet vozila mora biti cijeli broj! --> "); } if (brojGresaka != 0) { Ispis.IspisGreskeRedak(i, nizRedaka[i]); } else { izlaznaLista.Add(IzradiVozilo(privremeniObjekt)); } } return(izlaznaLista); }
/// <summary> /// Metoda koja služi za dohvaćanje ispravnih lokacija, odnosno redaka /// </summary> /// <param name="nizRedaka"></param> /// <param name="splitter"></param> /// <returns>Vraća listu sa ispravnim elementima</returns> private static List <Lokacija> DohvatiIspravneLokacije(string[] nizRedaka, char splitter) { List <Lokacija> izlaznaLista = new List <Lokacija>(); string[] atributiZaglavlja = nizRedaka[0].Split(splitter); for (int i = 1; i < nizRedaka.Length; i++) { int brojGresaka = 0; string[] privremeniObjekt = nizRedaka[i].Split(splitter); if (!Datoteka.ProvjeriBrojAtributa(privremeniObjekt, atributiZaglavlja.Length)) { brojGresaka++; Console.Write("Neispravan broj atributa! --> "); } else if (!Datoteka.IspravanInt(privremeniObjekt[0])) { brojGresaka++; Console.Write("ID lokacije mora biti cijeli broj! --> "); } else if (!Datoteka.IspravanString(privremeniObjekt[1])) { brojGresaka++; Console.Write("Neispravan naziv lokacije! --> "); } else if (!Datoteka.IspravanString(privremeniObjekt[2])) { brojGresaka++; Console.Write("Neispravna adresa lokacije! --> "); } else if (!Datoteka.IspravanString(privremeniObjekt[3])) { brojGresaka++; Console.Write("Neispravan GPS lokacije! --> "); } if (brojGresaka != 0) { Ispis.IspisGreskeRedak(i, nizRedaka[i]); } else { izlaznaLista.Add(IzradiLokaciju(privremeniObjekt)); } } return(izlaznaLista); }
/// <summary> /// Metoda koja služi za dohvat ispravnih lokacija vozila, redaka /// </summary> /// <param name="nizRedaka"></param> /// <param name="splitter"></param> /// <returns>Vraća listu sa ispravnim podacima</returns> private static List <LokacijeVozila> DohvatiIspravneLokacijeVozila(string[] nizRedaka, char splitter) { TvrtkaSingleton tvrtka = TvrtkaSingleton.GetTvrtkaInstance(); List <LokacijeVozila> izlaznaLista = new List <LokacijeVozila>(); string[] atributiZaglavlja = nizRedaka[0].Split(splitter); for (int i = 1; i < nizRedaka.Length; i++) { int brojGresaka = 0; string[] privremeniObjekt = nizRedaka[i].Split(splitter); if (!Datoteka.ProvjeriBrojAtributa(privremeniObjekt, atributiZaglavlja.Length)) { brojGresaka++; Console.Write("Neispravan broj atributa! --> "); } else if (!Datoteka.IspravanInt(privremeniObjekt[0])) { brojGresaka++; Console.Write("ID lokacije mora biti cijeli broj! --> "); } else if (!PostojiLokacija(privremeniObjekt[0])) { brojGresaka++; Console.Write("Unesena loakcija ne postoji! --> "); } else if (!Datoteka.IspravanInt(privremeniObjekt[1])) { brojGresaka++; Console.Write("ID vozila mora biti cijeli broj! --> "); } else if (!PostojiVozilo(privremeniObjekt[1])) { brojGresaka++; Console.Write("Uneseno vozilo ne postoji! --> "); } else if (!Datoteka.IspravanInt(privremeniObjekt[2])) { brojGresaka++; Console.Write("Broj mjesta mora biti cijeli broj! --> "); } else if (!Datoteka.IspravanInt(privremeniObjekt[3])) { brojGresaka++; Console.Write("Broj raspoloživih mjesta mora biti cijeli broj! --> "); } else if (int.Parse(privremeniObjekt[3]) > int.Parse(privremeniObjekt[2])) { brojGresaka++; Console.Write("Nemoguće je da postoji više raspoloživih mjesta nego što je ukupno mjesta! --> "); } if (brojGresaka != 0) { Ispis.IspisGreskeRedak(i, nizRedaka[i]); } else { izlaznaLista.Add(IzradiLokacijuVozila(privremeniObjekt)); } } return(izlaznaLista); }
/// <summary> /// Metoda koja služi za dohvaćanje ispravnih aktivnosti, redaka /// </summary> /// <param name="nizRedaka"></param> /// <param name="splitter"></param> /// <returns>Vraća listu sa ispravnim podacima</returns> public static List <Aktivnost> DohvatiIspravneAktivnosti(string[] nizRedaka, char splitter, string[] args) { TvrtkaSingleton tvrtka = TvrtkaSingleton.GetTvrtkaInstance(); string[] atributiZaglavlja = nizRedaka[0].Split(splitter); for (int i = 1; i < nizRedaka.Length; i++) { string[] privremeniObjekt = nizRedaka[i].Split(splitter); if (privremeniObjekt.Length == 6) { int brojGresaka = 0; if (!Datoteka.IspravanInt(privremeniObjekt[0])) { brojGresaka++; Console.Write("ID aktivnosti mora biti cijeli broj! --> "); } else if (!Datoteka.IspravanDatum(privremeniObjekt[1])) { brojGresaka++; Console.Write("Uneseni datum nije ispravnog formata! --> "); } else if (!Datoteka.ProvjeraDaLiJeDatumVeciOdPrethodnog(privremeniObjekt[1], izlaznaLista, args)) { brojGresaka++; } else if (!Datoteka.IspravanInt(privremeniObjekt[2])) { brojGresaka++; Console.Write("ID korisnika mora biti cijeli broj! --> "); } else if (!PostojiKorisnik(privremeniObjekt[2])) { brojGresaka++; Console.Write("Uneseni korisnik ne postoji! --> "); } else if (!Datoteka.IspravanInt(privremeniObjekt[3])) { brojGresaka++; Console.Write("ID lokacije mora biti cijeli broj! --> "); } else if (!PostojiLokacija(privremeniObjekt[3])) { brojGresaka++; Console.Write("Unesena lokacija ne postoji! --> "); } else if (!Datoteka.IspravanInt(privremeniObjekt[4])) { brojGresaka++; Console.Write("ID vozila mora biti cijeli broj! --> "); } else if (!PostojiVozilo(privremeniObjekt[4])) { brojGresaka++; Console.Write("Uneseno vozilo ne postoji! --> "); } else if (!Datoteka.IspravanInt(privremeniObjekt[5])) { brojGresaka++; Console.Write("Broj kilometara mora biti cijeli broj! --> "); } else if (!Datoteka.ProvjeravaJeLiBrojKmVeciOdDometa(int.Parse(privremeniObjekt[4]), int.Parse(privremeniObjekt[5]))) { brojGresaka++; } else if (!Datoteka.ProvjeraPostojiLiBrojMjesta(int.Parse(privremeniObjekt[3]), int.Parse(privremeniObjekt[4]))) { brojGresaka++; } else if (!Datoteka.ProvjeraMozeLiKorisnikVratitiVoziloNaLokaciju(int.Parse(privremeniObjekt[3]), int.Parse(privremeniObjekt[4]), int.Parse(privremeniObjekt[2]))) { brojGresaka++; } if (brojGresaka != 0) { Ispis.IspisGreskeRedak(i, nizRedaka[i]); } else { izlaznaLista.Add(IzradiAktivnost(privremeniObjekt)); } } else if (privremeniObjekt.Length == 2) { int brojGresaka = 0; if (!Datoteka.IspravanInt(privremeniObjekt[0])) { brojGresaka++; Console.Write("ID aktivnosti mora biti cijeli broj! --> "); } else if (int.Parse(privremeniObjekt[0]) == 0) { if (!Datoteka.IspravanDatum(privremeniObjekt[1])) { brojGresaka++; Console.Write("Uneseni datum nije ispravnog formata! --> "); } else if (!Datoteka.ProvjeraDaLiJeDatumVeciOdPrethodnog(privremeniObjekt[1], izlaznaLista, args)) { brojGresaka++; Console.WriteLine("Datum mora biti veći od datuma prethodne aktivnosti! --> "); } if (brojGresaka != 0) { Ispis.IspisGreskeRedak(i, nizRedaka[i]); } else { izlaznaLista.Add(IzradiAktivnost(privremeniObjekt)); } } else if (int.Parse(privremeniObjekt[0]) == 6) { if (privremeniObjekt[1].Trim().Length != 9 && privremeniObjekt[1].Trim().Length != 11 && privremeniObjekt[1].Trim().Length != 16 && privremeniObjekt[1].Trim().Length != 18) { brojGresaka++; Console.Write("Pogrešno unesene naredbe! --> "); } else { } } else if (int.Parse(privremeniObjekt[0]) == 7) { if (privremeniObjekt[1].Trim().Length != 31 && privremeniObjekt[1].Trim().Length != 33) { brojGresaka++; Console.Write("Pogrešno unesene naredbe! --> "); } else { } } else if (int.Parse(privremeniObjekt[0]) == 8) { if (privremeniObjekt[1].Trim().Length != 31 && privremeniObjekt[1].Trim().Length != 33) { brojGresaka++; Console.Write("Pogrešno unesene naredbe! --> "); } else { } } else if (int.Parse(privremeniObjekt[0]) == 10) { } else if (int.Parse(privremeniObjekt[0]) == 11) { } else if (int.Parse(privremeniObjekt[0]) != 0 || int.Parse(privremeniObjekt[0]) != 6 || int.Parse(privremeniObjekt[0]) != 7 || int.Parse(privremeniObjekt[0]) != 8 || int.Parse(privremeniObjekt[0]) != 9 || int.Parse(privremeniObjekt[0]) != 10 || int.Parse(privremeniObjekt[0]) != 11) { brojGresaka++; Console.Write("Unjeli ste pogrešan broj aktivnosti!"); } if (brojGresaka != 0) { Ispis.IspisGreskeRedak(i, nizRedaka[i]); } else { izlaznaLista.Add(IzradiAktivnost(privremeniObjekt)); } } else if (privremeniObjekt.Length == 1) { int brojGresaka = 0; if (!Datoteka.IspravanInt(privremeniObjekt[0])) { brojGresaka++; Console.Write("ID aktivnosti mora biti cijeli broj! --> "); } else if (int.Parse(privremeniObjekt[0]) != 9) { brojGresaka++; Console.Write("Pogrešno unesen broj aktivnosti! Mora iznositi 9! --> "); } if (brojGresaka != 0) { Ispis.IspisGreskeRedak(i, nizRedaka[i]); } else { izlaznaLista.Add(IzradiAktivnost(privremeniObjekt)); } } else if (privremeniObjekt.Length == 5) { int brojGresaka = 0; if (!Datoteka.IspravanInt(privremeniObjekt[0])) { brojGresaka++; Console.Write("ID aktivnosti mora biti cijeli broj! --> "); } else if (!Datoteka.IspravanDatum(privremeniObjekt[1])) { brojGresaka++; Console.Write("Uneseni datum nije ispravnog formata! --> "); } else if (!Datoteka.ProvjeraDaLiJeDatumVeciOdPrethodnog(privremeniObjekt[1], izlaznaLista, args)) { brojGresaka++; } else if (!Datoteka.IspravanInt(privremeniObjekt[2])) { brojGresaka++; Console.Write("ID korisnika mora biti cijeli broj! --> "); } else if (!PostojiKorisnik(privremeniObjekt[2])) { brojGresaka++; Console.Write("Uneseni korisnik ne postoji! --> "); } else if (!Datoteka.IspravanInt(privremeniObjekt[3])) { brojGresaka++; Console.Write("ID lokacije mora biti cijeli broj! --> "); } else if (!PostojiLokacija(privremeniObjekt[3])) { brojGresaka++; Console.Write("Unesena lokacija ne postoji! --> "); } else if (!Datoteka.IspravanInt(privremeniObjekt[4])) { brojGresaka++; Console.Write("ID vozila mora biti cijeli broj! --> "); } else if (!PostojiVozilo(privremeniObjekt[4])) { brojGresaka++; Console.Write("Uneseno vozilo ne postoji! --> "); } else if (int.Parse(privremeniObjekt[0]) == 2) { //Console.WriteLine(int.Parse(privremeniObjekt[0])); if (!Datoteka.ProvjeriPostojiLiKorisnikSPosudbom(int.Parse(privremeniObjekt[2]), int.Parse(privremeniObjekt[4]))) { brojGresaka++; } else { } } else if (!Datoteka.ProvjeraPostojeLiRaspolozivaVozila(int.Parse(privremeniObjekt[3]), int.Parse(privremeniObjekt[4]))) { brojGresaka++; } if (brojGresaka != 0) { Ispis.IspisGreskeRedak(i, nizRedaka[i]); } else { izlaznaLista.Add(IzradiAktivnost(privremeniObjekt)); } } else if (privremeniObjekt.Length == 7) { int brojGresaka = 0; if (!Datoteka.IspravanInt(privremeniObjekt[0])) { brojGresaka++; Console.Write("ID aktivnosti mora biti cijeli broj! --> "); } else if (!Datoteka.IspravanDatum(privremeniObjekt[1])) { brojGresaka++; Console.Write("Uneseni datum nije ispravnog formata! --> "); } else if (!Datoteka.ProvjeraDaLiJeDatumVeciOdPrethodnog(privremeniObjekt[1], izlaznaLista, args)) { brojGresaka++; } else if (!Datoteka.IspravanInt(privremeniObjekt[2])) { brojGresaka++; Console.Write("ID korisnika mora biti cijeli broj! --> "); } else if (!PostojiKorisnik(privremeniObjekt[2])) { brojGresaka++; Console.Write("Uneseni korisnik ne postoji! --> "); } else if (!Datoteka.IspravanInt(privremeniObjekt[3])) { brojGresaka++; Console.Write("ID lokacije mora biti cijeli broj! --> "); } else if (!PostojiLokacija(privremeniObjekt[3])) { brojGresaka++; Console.Write("Unesena lokacija ne postoji! --> "); } else if (!Datoteka.IspravanInt(privremeniObjekt[4])) { brojGresaka++; Console.Write("ID vozila mora biti cijeli broj! --> "); } else if (!PostojiVozilo(privremeniObjekt[4])) { brojGresaka++; Console.Write("Uneseno vozilo ne postoji! --> "); } else if (!Datoteka.IspravanInt(privremeniObjekt[5])) { brojGresaka++; Console.Write("Broj kilometara mora biti cijeli broj! --> "); } else if (!Datoteka.IspravanString(privremeniObjekt[6])) { brojGresaka++; Console.Write("Neispravno unesen opis problema! --> "); } else if (!Datoteka.ProvjeravaJeLiBrojKmVeciOdDometa(int.Parse(privremeniObjekt[4]), int.Parse(privremeniObjekt[5]))) { brojGresaka++; } else if (!Datoteka.ProvjeraPostojiLiBrojMjesta(int.Parse(privremeniObjekt[3]), int.Parse(privremeniObjekt[4]))) { brojGresaka++; } else if (!Datoteka.ProvjeraMozeLiKorisnikVratitiVoziloNaLokaciju(int.Parse(privremeniObjekt[3]), int.Parse(privremeniObjekt[4]), int.Parse(privremeniObjekt[2]))) { brojGresaka++; } if (brojGresaka != 0) { Ispis.IspisGreskeRedak(i, nizRedaka[i]); } else { izlaznaLista.Add(IzradiAktivnost(privremeniObjekt)); } } else if (privremeniObjekt.Length != 1 || privremeniObjekt.Length != 2 || privremeniObjekt.Length != 5 || privremeniObjekt.Length != 6 || privremeniObjekt.Length != 7) { Console.Write("Neispravan broj atributa! --> "); Ispis.IspisGreskeRedak(i, nizRedaka[i]); } else { Ispis.IspisGreskeRedak(i, nizRedaka[i]); } } return(izlaznaLista); }