Exemple #1
0
        public Potnik NajdiPotnika(string email, Termin termin)
        {
            Potnik temp = new Potnik();

            if (poljeTerminov.Contains(termin))
            {
                for (int i = 0; i < poljeTerminov.Count; i++)
                {
                    if (termin.Equals(poljeTerminov[i]))
                    {
                        if (poljeTerminov[i].PrijavljeniPotniki.ContainsKey(email))
                        {
                            return(poljeTerminov[i].PrijavljeniPotniki[email]);
                        }
                        else
                        {
                            return(temp);
                        }
                    }
                }
                return(temp);
            }

            else
            {
                return(temp);
            }
        }
Exemple #2
0
 public void ProdajKarto(Termin termin, Potnik potnik)
 {
     for (int i = 0; i < poljeTerminov.Count; i++)
     {
         if (termin.Equals(poljeTerminov[i]))
         {
             poljeTerminov[i].PrijavljeniPotniki.Add(potnik.email, potnik);
             Console.WriteLine("Potnik uspešno dodan.");
         }
     }
 }
Exemple #3
0
        public static List <Potnik> preberiSeznamCSV(List <Potnik> potniki)
        {
            string[] prebrano = File.ReadAllLines(@"C:\Users\Teja Kolar\Desktop\seznamPotnikov.2018.csv");

            for (int i = 1; i <= prebrano.Length - 1; i++)
            {
                string[] stoplci = new string[6];
                stoplci = prebrano[i].Split(',', ';');
                Potnik nov = new Potnik(stoplci[0], stoplci[1], (Spol)Enum.Parse(typeof(Spol), stoplci[2]), Convert.ToDateTime(stoplci[4]), stoplci[5], (Status)Enum.Parse(typeof(Status), stoplci[3]));
                potniki.Add(nov);
            }

            return(potniki);
        }
Exemple #4
0
 public void PrekličiKarto(Termin termin, Potnik potnik)
 {
     for (int i = 0; i < poljeTerminov.Count; i++)
     {
         if (termin.Equals(poljeTerminov[i]))
         {
             if (poljeTerminov[i].PrijavljeniPotniki.Remove(potnik.email))
             {
                 Console.WriteLine("Popotnik je bil uspešno odstranjen.");
             }
             else
             {
                 Console.WriteLine("Odstranjevanje popotnika ni bilo uspešno.");
             }
         }
     }
 }
Exemple #5
0
        public double IzračunajCeno(Potnik potnik)
        {
            double novaCena;

            if (potnik.status == Status.Upokojenec)
            {
                novaCena = (cena * 90) / 100;
            }
            else if (potnik.status == Status.Student)
            {
                novaCena = (cena * 85) / 100;
            }
            else
            {
                novaCena = cena;
            }

            return(novaCena);
        }
Exemple #6
0
        static void Main(string[] args)
        {
            Voznik voznik1 = new Voznik("Tilen", "Cokan", Spol.M, new DateTime(1997, 6, 22), new DateTime(2018, 6, 22));

            Potnik potnik1 = new Potnik("Teja", "Kolar", Spol.Z, new DateTime(1997, 5, 20), "*****@*****.**", Status.Student);

            Potnik potnik2 = new Potnik("Tomaž", "Kolar", Spol.M, new DateTime(1989, 12, 5), "*****@*****.**", Status.Student);

            Potnik potnik3 = new Potnik("Matej", "Kolar", Spol.M, new DateTime(1991, 7, 3), "*****@*****.**", Status.Student);

            Potnik potnik4 = new Potnik("Gregor", "Kranjc", Spol.M, new DateTime(1950, 7, 3), "*****@*****.**", Status.Upokojenec);

            Potnik potnik5 = new Potnik("Urška", "Kranjc", Spol.Z, new DateTime(2005, 5, 3), "*****@*****.**", Status.Otrok);

            Avtomobil avto1 = new Avtomobil(voznik1, "mazda", "limuzina", 5.7, 50, 5, 2);

            Kombi kombi1 = new Kombi(voznik1, "mercedes", "kombi", 9.5, 80, 500, 1000);

            Avtobus bus1 = new Avtobus(voznik1, "MAN", "avtobus", 20, 120, 51, 20, 40);

            Dictionary <string, Potnik> seznamOseb = new Dictionary <string, Potnik>();

            Termin termin1 = new Termin(new DateTime(2018, 5, 10, 6, 0, 0), new DateTime(2018, 5, 19, 23, 0, 0), bus1, seznamOseb);

            Termin termin2 = new Termin(new DateTime(2018, 6, 10, 6, 0, 0), new DateTime(2018, 6, 18, 23, 0, 0), bus1, seznamOseb);

            List <Termin> termini = new List <Termin>();

            Izlet izlet1 = new Izlet("Nizozemska", 480.50, "Celje", termini);

            izlet1.DodajTermin(termin1);

            Izlet izlet2 = new Izlet("Belgija", 600, "Maribor", termini);

            izlet2.DodajTermin(termin2);

            izlet1.ProdajKarto(termin1, potnik1);

            izlet1.ProdajKarto(termin1, potnik2);

            izlet1.ProdajKarto(termin1, potnik3);

            izlet2.ProdajKarto(termin2, potnik4);

            izlet2.ProdajKarto(termin2, potnik5);

            izlet1.PrekličiKarto(termin1, potnik3);

            izlet2.DodajTermin(termin1);


            List <Potnik> potniki = new List <Potnik>();

            Potovanje.preberiSeznamCSV(potniki);

            var poisciKnez = potniki.Find(x => x.priimek.Equals("Knez"));

            Console.WriteLine(poisciKnez.ime + " " + poisciKnez.priimek + " " + poisciKnez.spol + " " + poisciKnez.status + " " + poisciKnez.datumRojstva + " " + poisciKnez.email);
            if (poisciKnez != null)
            {
                potniki.Remove(poisciKnez);
            }

            var poisciNajstarejsoOsebo = potniki.Find(x => x.datumRojstva == potniki.Min(y => y.datumRojstva));

            Console.WriteLine("Najstarejsi potnik: " + poisciNajstarejsoOsebo.ime + " " + poisciNajstarejsoOsebo.priimek + " " + poisciNajstarejsoOsebo.spol + " " + poisciNajstarejsoOsebo.status + " " + poisciNajstarejsoOsebo.datumRojstva + " " + poisciNajstarejsoOsebo.email);
            if (poisciNajstarejsoOsebo != null)
            {
                potniki.Remove(poisciNajstarejsoOsebo);
            }

            var dodajOsebo = new Potnik(potnik1.ime, potnik1.priimek, potnik1.spol, potnik1.datumRojstva, potnik1.email, potnik1.status);

            potniki.Add(dodajOsebo);
            Console.WriteLine(dodajOsebo.MojIzpis());

            Termin terminOtroci     = new Termin(new DateTime(2018, 6, 20, 7, 0, 0), new DateTime(2018, 6, 27, 22, 0, 0), bus1, new Dictionary <string, Potnik>());
            Termin terminStudenti   = new Termin(new DateTime(2018, 7, 20, 7, 0, 0), new DateTime(2018, 6, 27, 22, 0, 0), bus1, new Dictionary <string, Potnik>());
            Termin terminUpokojenci = new Termin(new DateTime(2018, 8, 20, 7, 0, 0), new DateTime(2018, 6, 27, 22, 0, 0), bus1, new Dictionary <string, Potnik>());

            Izlet izlet = new Izlet("Portugalska", 1200, "Celje", new List <Termin> {
                terminOtroci, terminStudenti, terminUpokojenci
            });

            List <Potnik> otroci = potniki.FindAll(x => x.status == Status.Otrok);

            otroci = otroci.OrderBy(x => x.priimek).ToList();
            terminOtroci.PrijavljeniPotniki = otroci.ToDictionary(x => x.email);

            List <Potnik> studenti = potniki.FindAll(y => y.status == Status.Student);

            studenti = studenti.OrderBy(y => y.priimek).ToList();
            terminStudenti.PrijavljeniPotniki = studenti.ToDictionary(y => y.email);

            List <Potnik> upokojenci = potniki.FindAll(z => z.status == Status.Upokojenec);

            upokojenci = upokojenci.OrderBy(z => z.priimek).ToList();
            terminUpokojenci.PrijavljeniPotniki = upokojenci.ToDictionary(z => z.email);

            Potovanje.zapisiVSeznamCSV(izlet);

            double povprečnaStarost = potniki.Average(popotnik => 2018 - popotnik.datumRojstva.Year);

            Console.WriteLine("Povprečna starost potnikov je: {0:0.00}", povprečnaStarost);

            List <Potnik> seznamPonikov = Potovanje.VrniPotnikeGledeNaStatus(Status.Otrok, potniki);

            for (int i = 0; i < seznamPonikov.Count; i++)
            {
                Console.WriteLine(seznamPonikov[i].ime + " " + seznamPonikov[i].priimek + " " + seznamPonikov[i].spol + " " + seznamPonikov[i].datumRojstva + " " + seznamPonikov[i].email + " " + seznamPonikov[i].status);
            }
        }