Ejemplo n.º 1
0
        public override List <Redak> UcitajRetke(string datoteka)
        {
            List <Redak> komande = new List <Redak>();

            CitacPopisaBuilder citacPopisa = new CitacPopisaBuilder(datoteka);

            citacPopisa.ProcitajRetke();
            // počinje se od retka 1 jer je redak indeksa 0 zaglavlje
            for (int brojRetka = 1; brojRetka < citacPopisa.VratiBrojRedaka(); brojRetka++)
            {
                try
                {
                    citacPopisa.ProcitajElementeRetka(brojRetka, ';');
                    int brojElemenataRetka = citacPopisa.VratiBrojElemenataRetka();
                    if (brojElemenataRetka == 0 || brojElemenataRetka > 4)
                    {
                        Program.Ispisivac.Koristi($"Neispravan redak {brojRetka} u datoteci {datoteka}.");
                        continue;
                    }

                    KomandaRedak komanda = new KomandaRedak(citacPopisa);
                    komande.Add(komanda);
                }
                catch (FormatException)
                {
                    Program.Ispisivac.Koristi($"Neispravan redak {brojRetka} u datoteci {datoteka}.");
                }
            }

            return(komande);
        }
Ejemplo n.º 2
0
        public override List <Redak> UcitajRetke(string datoteka)
        {
            List <Redak> vozila = new List <Redak>();

            CitacPopisaBuilder citacPopisa = new CitacPopisaBuilder(datoteka);

            citacPopisa.ProcitajRetke();
            // počinje se od retka 1 jer je redak indeksa 0 zaglavlje
            for (int brojRetka = 1; brojRetka < citacPopisa.VratiBrojRedaka(); brojRetka++)
            {
                try
                {
                    citacPopisa.ProcitajElementeRetka(brojRetka, ';');
                    if (citacPopisa.VratiBrojElemenataRetka() != 6)
                    {
                        Program.Ispisivac.Koristi($"Neispravan redak {brojRetka} u datoteci {datoteka}.");
                        continue;
                    }

                    VoziloRedak vozilo = new VoziloRedak(citacPopisa);
                    vozila.Add(vozilo);
                }
                catch (FormatException)
                {
                    Program.Ispisivac.Koristi($"Neispravan redak {brojRetka} u datoteci {datoteka}.");
                }
            }

            return(vozila);
        }
Ejemplo n.º 3
0
        public KomandaRedak(CitacPopisaBuilder citacPopisa)
        {
            string prviDioKomande = citacPopisa.VratiElementRetka(0);

            if (prviDioKomande.StartsWith(VrstaKomande.KRENI.ToString()))
            {
                string[] prviDioKomandeSplit = prviDioKomande.Split(' ');
                Vrsta = (VrstaKomande)Enum.Parse(typeof(VrstaKomande), prviDioKomandeSplit[0], true);

                if (prviDioKomandeSplit.Length == 2)
                {
                    Vrsta = VrstaKomande.KRENI_N;
                    Broj  = int.Parse(prviDioKomandeSplit[1]);
                }
            }
            else
            {
                Vrsta = (VrstaKomande)Enum.Parse(typeof(VrstaKomande), prviDioKomande, true);
                if (Vrsta != VrstaKomande.STATUS)
                {
                    Vozila = new List <string>();
                    string[] vozila = citacPopisa.VratiElementRetka(1).Split(',');
                    foreach (string vozilo in vozila)
                    {
                        Vozila.Add(vozilo.Trim());
                    }
                }
            }
        }
Ejemplo n.º 4
0
        private void ProcitajOstaleKomande(CitacPopisaBuilder citacPopisa)
        {
            string prviDioKomande = citacPopisa.VratiElementRetka(0);

            if (prviDioKomande.Equals("GODIŠNJI ODMOR"))
            {
                Vrsta = VrstaKomande.GODIŠNJI_ODMOR;
            }
            else
            {
                Vrsta = (VrstaKomande)Enum.Parse(typeof(VrstaKomande), prviDioKomande, true);
            }

            if (Vrsta == VrstaKomande.STATUS || Vrsta == VrstaKomande.VOZAČI || Vrsta == VrstaKomande.IZLAZ)
            {
                return;
            }
            else if (Vrsta == VrstaKomande.OBRADI)
            {
                Podrucje = citacPopisa.VratiElementRetka(1);
                ProcitajListu(citacPopisa.VratiElementRetka(2));
            }
            else if (Vrsta == VrstaKomande.PREUZMI)
            {
                Vozac  = citacPopisa.VratiElementRetka(1);
                Vozilo = citacPopisa.VratiElementRetka(2);
            }
            else
            {
                ProcitajListu(citacPopisa.VratiElementRetka(1));
            }
        }
Ejemplo n.º 5
0
        public override List <Redak> UcitajRetke(string datoteka)
        {
            List <Redak> ulice = new List <Redak>();

            CitacPopisaBuilder citacPopisa = new CitacPopisaBuilder(datoteka);

            citacPopisa.ProcitajRetke();
            for (int brojRetka = 0; brojRetka < citacPopisa.VratiBrojRedaka(); brojRetka++)
            {
                try
                {
                    citacPopisa.ProcitajElementeRetka(brojRetka, ';');
                    if (citacPopisa.VratiBrojElemenataRetka() != 5)
                    {
                        Console.WriteLine("Neispravan redak {0} u datoteci {1}.", brojRetka, datoteka);
                        continue;
                    }

                    UlicaRedak ulica = new UlicaRedak();
                    ulica.Naziv        = citacPopisa.VratiElementRetka(0);
                    ulica.BrojMjesta   = citacPopisa.VratiElementRetkaInt(1);
                    ulica.UdioMalih    = citacPopisa.VratiElementRetkaInt(2);
                    ulica.UdioSrednjih = citacPopisa.VratiElementRetkaInt(3);
                    ulica.UdioVelikih  = citacPopisa.VratiElementRetkaInt(4);

                    ulice.Add(ulica);
                }
                catch (FormatException)
                {
                    Console.WriteLine("Neispravan redak {0} u datoteci {1}.", brojRetka, datoteka);
                }
            }

            return(ulice);
        }
Ejemplo n.º 6
0
        public static void PrimajUnosKomandi()
        {
            KomandaRedak komanda;
            string       unos;

            do
            {
                Console.Write("UPISITE KOMANDU: ");
                unos = Console.ReadLine();

                string[] retci = new string[1];
                retci[0] = unos;
                CitacPopisaBuilder citac = new CitacPopisaBuilder(retci);
                citac.ProcitajElementeRetka(0, ';');
                try
                {
                    komanda = new KomandaRedak(citac);
                    ObradiPristigluKomandu(komanda);
                }
                catch (Exception)
                {
                    Console.WriteLine("NEISPRAVNA KOMANDA");
                    komanda = Program.Komande.First();
                }
            } while (komanda.Vrsta != VrstaKomande.IZLAZ);
        }
Ejemplo n.º 7
0
 public UlicaRedak(CitacPopisaBuilder citacPopisa)
 {
     ID           = citacPopisa.VratiElementRetka(0);
     Naziv        = citacPopisa.VratiElementRetka(1);
     BrojMjesta   = citacPopisa.VratiElementRetkaInt(2);
     UdioMalih    = citacPopisa.VratiElementRetkaInt(3);
     UdioSrednjih = citacPopisa.VratiElementRetkaInt(4);
     UdioVelikih  = citacPopisa.VratiElementRetkaInt(5);
 }
Ejemplo n.º 8
0
 public SpremnikRedak(CitacPopisaBuilder citacPopisa)
 {
     NazivPremaOtpadu = citacPopisa.VratiElementRetka(0);
     Vrsta            = (VrstaSpremnika)citacPopisa.VratiElementRetkaInt(1);
     BrojnostMali     = citacPopisa.VratiElementRetkaInt(2);
     BrojnostSrednji  = citacPopisa.VratiElementRetkaInt(3);
     BrojnostVeliki   = citacPopisa.VratiElementRetkaInt(4);
     Nosivost         = citacPopisa.VratiElementRetkaInt(5);
 }
Ejemplo n.º 9
0
        public PodrucjeRedak(CitacPopisaBuilder citacPopisa)
        {
            ID    = citacPopisa.VratiElementRetka(0);
            Naziv = citacPopisa.VratiElementRetka(1);

            Dijelovi = new List <string>();
            string[] dijelovi = citacPopisa.VratiElementRetka(2).Split(',');
            foreach (string dio in dijelovi)
            {
                Dijelovi.Add(dio.Trim());
            }
        }
Ejemplo n.º 10
0
        public KomandaRedak(CitacPopisaBuilder citacPopisa)
        {
            string prviDioKomande = citacPopisa.VratiElementRetka(0);

            if (prviDioKomande.StartsWith(VrstaKomande.KRENI.ToString()))
            {
                ProcitajKomanduKreni(prviDioKomande);
            }
            else
            {
                ProcitajOstaleKomande(citacPopisa);
            }
        }
Ejemplo n.º 11
0
        public VoziloRedak(CitacPopisaBuilder citacPopisa)
        {
            ID          = citacPopisa.VratiElementRetka(0);
            Naziv       = citacPopisa.VratiElementRetka(1);
            Tip         = (TipVozila)citacPopisa.VratiElementRetkaInt(2);
            VrstaOtpada = (VrstaOtpada)citacPopisa.VratiElementRetkaInt(3);
            Nosivost    = citacPopisa.VratiElementRetkaInt(4);

            Vozaci = new List <string>();
            string[] vozaci = citacPopisa.VratiElementRetka(5).Split(',');
            foreach (string vozac in vozaci)
            {
                Vozaci.Add(vozac.Trim());
            }
        }
Ejemplo n.º 12
0
        public override List <Redak> UcitajRetke(string datoteka)
        {
            List <Redak> vozila = new List <Redak>();

            CitacPopisaBuilder citacPopisa = new CitacPopisaBuilder(datoteka);

            citacPopisa.ProcitajRetke();
            for (int brojRetka = 0; brojRetka < citacPopisa.VratiBrojRedaka(); brojRetka++)
            {
                try
                {
                    citacPopisa.ProcitajElementeRetka(brojRetka, ';');
                    if (citacPopisa.VratiBrojElemenataRetka() != 5)
                    {
                        Console.WriteLine("Neispravan redak {0} u datoteci {1}.", brojRetka, datoteka);
                        continue;
                    }

                    VoziloRedak vozilo = new VoziloRedak();
                    vozilo.Naziv       = citacPopisa.VratiElementRetka(0);
                    vozilo.Tip         = (TipVozila)citacPopisa.VratiElementRetkaInt(1);
                    vozilo.VrstaOtpada = (VrstaOtpada)citacPopisa.VratiElementRetkaInt(2);
                    vozilo.Nosivost    = citacPopisa.VratiElementRetkaInt(3);

                    string[] vozaci = citacPopisa.VratiElementRetka(4).Split(',');
                    foreach (string vozac in vozaci)
                    {
                        vozilo.Vozaci.Add(vozac.Trim());
                    }

                    vozila.Add(vozilo);
                }
                catch (FormatException)
                {
                    Console.WriteLine("Neispravan redak {0} u datoteci {1}.", brojRetka, datoteka);
                }
            }

            return(vozila);
        }
Ejemplo n.º 13
0
        public override List <Redak> UcitajRetke(string datoteka)
        {
            List <Redak> spremnici = new List <Redak>();

            CitacPopisaBuilder citacPopisa = new CitacPopisaBuilder(datoteka);

            citacPopisa.ProcitajRetke();
            for (int brojRetka = 0; brojRetka < citacPopisa.VratiBrojRedaka(); brojRetka++)
            {
                try
                {
                    citacPopisa.ProcitajElementeRetka(brojRetka, ';');
                    if (citacPopisa.VratiBrojElemenataRetka() != 6)
                    {
                        Console.WriteLine("Neispravan redak {0} u datoteci {1}.", brojRetka, datoteka);
                        continue;
                    }

                    SpremnikRedak spremnik = new SpremnikRedak();
                    spremnik.Naziv           = citacPopisa.VratiElementRetka(0);
                    spremnik.Vrsta           = (VrstaSpremnika)citacPopisa.VratiElementRetkaInt(1);
                    spremnik.BrojnostMali    = citacPopisa.VratiElementRetkaInt(2);
                    spremnik.BrojnostSrednji = citacPopisa.VratiElementRetkaInt(3);
                    spremnik.BrojnostVeliki  = citacPopisa.VratiElementRetkaInt(4);
                    spremnik.Nosivost        = citacPopisa.VratiElementRetkaInt(5);

                    spremnici.Add(spremnik);
                }
                catch (FormatException)
                {
                    Console.WriteLine("Neispravan redak {0} u datoteci {1}.", brojRetka, datoteka);
                }
            }

            return(spremnici);
        }