static void Main(string[] args) { //Prednosti[] polje = {Prednosti.wifi, Prednosti.klima,Prednosti.TV }; //Apartma potato2 = new Apartma() //{ // Naziv = "ppotato", // Destinacija = new Destinacija{ Kraj = "potato", Drzava = "Slovenija" }, // Cena = 10m, // SteviloProstihMest = 1, // SteviloPostelj = 1, // DovoljenoKajenje = false, // Prednosti = polje //}; //Console.WriteLine(potato2.Prednosti); //potato2.izpis(); //Apartma delo = new Apartma(naziv: "nekaj",destinacija:new Destinacija { Drzava = "Slovenija" }, cena:10m, steviloProstihMest:1, steviloPostelj:1, dovoljenoKajenje:true, elements:polje); //Console.WriteLine(delo.Cena); //Console.WriteLine(delo.SteviloPostelj); //delo.IzpisPolja(); //Console.WriteLine(delo.vrniCenoZDoplacili()); //Krizarjenje pot2 = new Krizarjenje(naziv: "krizarjenje 123", destinacija: new Destinacija { Drzava = "Slovenija" }, cena: 1022m, steviloProstihMest: 1,balkon: true, dodatnoLezisce: 1, steviloKabin:10 ); //Console.WriteLine(pot2.vrniCenoZDoplacili()); //pot2.izpis(); //Popotnik janez = new Popotnik() //{ // Ime = "Nejc", // Priimek = "Novak", // Spol = Spol.moški, // RojstniDatum = DateTime.Today, // ElektronskiNaslov = "mail" //}; //janez.izpis(); //Vodic vodic1 = new Vodic() //{ // Ime = "Joze", // Priimek = "Novak", // Spol = Spol.moški, // RojstniDatum = DateTime.Today, // KontaktnaStevilka="12.123-123", // StevilkaLicence=1234212 //}; //vodic1.RojstniDatum = DateTime.Now; //vodic1.izpis(); //Izlet izlet1= new Izlet() //{ // Naziv = "ppotato", // Destinacija = new Destinacija { Kraj = "potato", Drzava = "Slovenija" }, // Cena = 10m, // SteviloProstihMest = 1, // ZbirnoMesto="nekje", // Vodic="Nekdo" //}; //izlet1.izpis(); // Create your ship with x number of rooms //var ladja = new Krizarjenje(naziv: "krizarjenje 123", destinacija: new Destinacija { Drzava = "Slovenija" }, cena: 1022m, steviloProstihMest: 1, balkon: true, dodatnoLezisce: 1, steviloKabin: 10, odhodi:new Termin[5]); //// Now you can create your trip using Ship's number of rooms //var izlet = new Termin(datumOdhoda:DateTime.Now, steviloKabin:ladja.SteviloKabin, trajanje:99); //ladja.DodajTerminZaOdhod(izlet); //////Oseba oseba1 = new Oseba("Damjan", "Oslaj", Spol.moški, DateTime.Today); //////Oseba oseba2 = new Oseba("Joze", "Neka", Spol.moški, DateTime.Today); //////Console.WriteLine("Sta osebi enaki ? : " + oseba1.Equals(oseba2)); //////Popotnik popotnik1 = new Popotnik("*****@*****.**", "ime", "priimek"); //////Popotnik popotnik2 = new Popotnik("*****@*****.**", "ime", "priimek"); //////Popotnik popotnik3 = new Popotnik("*****@*****.**", "ime", "priimek"); //////Krizarjenje krizarjenje1 = new Krizarjenje(true, 1, 10); //////Termin termin1 = new Termin(DateTime.Now, 5, 5); //////krizarjenje1.DodajTerminZaOdhod(termin1); //////krizarjenje1.dodajPopotnika(krizarjenje1.Odhodi[0], popotnik1); //////krizarjenje1.dodajPopotnika(krizarjenje1.Odhodi[0], popotnik2); //////krizarjenje1.dodajPopotnika(krizarjenje1.Odhodi[0], popotnik3); //////krizarjenje1.odstraniPopotnika(krizarjenje1.Odhodi[0], popotnik3); //////Console.WriteLine("Odhod krizarjenja bo: " + krizarjenje1.VrniOdhod(0).DatumOdhoda); //////Console.WriteLine("Trenutno število odhodov je: " + krizarjenje1.VrniSteviloOdhodov()); //############################################################## ////#################### naloga 5 ############################## //############################################################## ////Destinacija destinacija1 = new Destinacija("Stockholm", "Švedska"); ////Popotnik popotnikDamjan = new Popotnik("Damjan", "Oslaj", "*****@*****.**"); ////Krizarjenje OnlyWest = new Krizarjenje(true, 1, 10); ////Console.WriteLine("Krizarka :{0},Popotnik: {1},destinacija: {2}-{3}", OnlyWest.Naziv, popotnikDamjan.Ime, destinacija1.Drzava, destinacija1.Kraj); //////Nekaj popotnikov ////Popotnik popotnikJoze = new Popotnik("*****@*****.**", "Priimek1", "Joze"); ////Popotnik popotnikFranc = new Popotnik("*****@*****.**", "Priimek2", "Franc"); ////Popotnik popotnikJanez = new Popotnik("*****@*****.**","Priimek3" , "Janez"); //////Termin križarke Only-West ////DateTime datumOdhoda = new DateTime(2017, 6, 12); ////List<Termin> Termini = new List<Termin>(); ////Termini.Add(new Termin(datumOdhoda, 12, OnlyWest.SteviloKabin)); ////Termini.Add(new Termin(datumOdhoda, 12, OnlyWest.SteviloKabin)); //////Dodali smo 2 odhoda na križarko "Only-West" ////OnlyWest.Odhodi.Add(Termini[0]); ////OnlyWest.DodajTerminZaOdhod(Termini[1]); //OnlyWest.odhodi.Add(termin2); //////Izpis število odhodov na križarki "Only-West" ////Console.WriteLine("Na križarki {0} je {1} število odhodov ", OnlyWest.Naziv, OnlyWest.VrniSteviloOdhodov()); //////Dodamo potnika na dolocen termin ////OnlyWest.dodajPopotnika(OnlyWest.VrniOdhod(1), popotnikFranc); ////OnlyWest.dodajPopotnika(OnlyWest.VrniOdhod(1), popotnikJanez); //////Izpis potnikov v odhodu št.1 ////Console.WriteLine("Na odhodu {0}, so popotniki:", OnlyWest.VrniOdhod(1).DatumOdhoda); ////foreach (var popotniki in OnlyWest.Odhodi[1].SeznamPrijavljenihOseb) ////{ //// Console.WriteLine(popotniki.Key); ////} ////Console.WriteLine(); ////Console.WriteLine("Število terminov, na katerih ni potnikov:{0}", OnlyWest.VrniTermineBrezPotnikov().Count); //////Odstranimo termin[0] v odhodih ////OnlyWest.OdstraniTermin(Termini[0]); ////Console.WriteLine("Odstranili smo termin {0}, število trenutnih terminov je: {1}", Termini[0].DatumOdhoda, OnlyWest.VrniSteviloOdhodov()); //////dodali smo 2 termina ////Termini.Add(new Termin(new DateTime(2017, 5, 30), 12, OnlyWest.SteviloKabin)); ////OnlyWest.DodajTerminZaOdhod(Termini[0]); ////OnlyWest.DodajTerminZaOdhod(Termini[2]); ////Console.WriteLine("Najkasnejsi termin:{0}", OnlyWest.VrniNajkasnejsiTermin().DatumOdhoda); ////Dictionary<string, Popotnik> openWith = new Dictionary<string, Popotnik>(); ////Console.WriteLine("##############################"); //////seznam oseb v katerega shranimo 4 random popotnike, //////izpis vse osebe ki so zenske, osebo ki ima dolocen email, osebe rojene med dvema datumoma ////Seznam nekaj = new Seznam(); ////nekaj.Popotniki = new List<Popotnik>(); ////Popotnik p1 = new Popotnik("Joze", "Priimek1", "*****@*****.**"); ////Popotnik p2 = new Popotnik("Franc", "Priimek2", "*****@*****.**"); ////Popotnik p3 = new Popotnik("Janez", "Priimek3", "*****@*****.**"); ////Popotnik p4 = new Popotnik("Nekdo", "Priimek3", "*****@*****.**"); ////nekaj.Popotniki.Add(p1); ////nekaj.Popotniki.Add(p2); ////nekaj.Popotniki.Add(p3); ////nekaj.Popotniki.Add(p4); ////nekaj.osebaZMailom("*****@*****.**"); //############################################################## //#################### naloga 6 ################################ //############################################################## Ponudba.readfromfile(); List <Oddih> itemToRemove = Ponudba.itemlist.FindAll(x => x.Destinacija.Drzava.Contains("Slovenija")); foreach (object o in itemToRemove) { Console.WriteLine(o); } Ponudba.itemlist.RemoveAll(x => x.Destinacija.Drzava.Contains("Slovenija")); //samo izpise vse z lista foreach (object os in Ponudba.itemlist) { Console.WriteLine(os); } Console.WriteLine("##############"); //Med Oddihi poiščite tistega z najdražjo ceno in ga odstranite. Za iskanje uporabite lambda izraz. Najden objekt pri tem tudi izpišite. var maxObject = Ponudba.itemlist.OrderByDescending(item => item.Cena).First(); Console.WriteLine(maxObject); Ponudba.itemlist.Remove(maxObject); //samo izpise vse z lista foreach (object os in Ponudba.itemlist) { Console.WriteLine(os); } Console.WriteLine("#############"); //dodajte nov apartma Apartma delo = new Apartma(naziv: "nekaj", destinacija: new Destinacija { Drzava = "Slovenija" }, cena: 10, steviloProstihMest: 1, steviloPostelj: 1, dovoljenoKajenje: Kajenje.da); Ponudba.itemlist.Add(delo); foreach (object os in Ponudba.itemlist) { Console.WriteLine(os); } Console.WriteLine("#######vsaj eno prosto mesto ######"); //Prebrano ponudbo ustrezno razporedite v dva podseznama. Eden naj vsebuje vse ponudbe, ki imajo na voljo //še vsaj eno prosto mesto, drug pa ostale, ki jih več nimajo. Oba podseznama tudi sortirajte po ceni. List <Oddih> vsajEnoMesto = new List <Oddih>(); List <Oddih> nicProstihMest = new List <Oddih>(); vsajEnoMesto = Ponudba.itemlist.Where(x => x.SteviloProstihMest > 0) .ToList(); foreach (object os in vsajEnoMesto) { Console.WriteLine(os); } Console.WriteLine("######Nic prostih mest#######"); nicProstihMest = Ponudba.itemlist.Where(x => x.SteviloProstihMest == 0) .ToList(); foreach (object os in nicProstihMest) { Console.WriteLine(os); } Console.WriteLine("#############"); //Ustvarite novo datoteko seznamPonudbeIzhod.csv, v katero zapišete samo ponudbe, katerih cena je nižja od 1500€. using (var file = File.CreateText("izhod.csv")) { file.WriteLine("Naziv, Destinacija, cena"); foreach (var arr in Ponudba.itemlist) { file.WriteLine(string.Join(",", arr)); } } //linq File.WriteAllLines("text.txt", Ponudba.itemlist.Select(x => string.Join(",", x))); Console.WriteLine("#############"); //S pomočjo lambda izraza izračunajte povprečno ceno Oddihov, ter ga izpišite v glavnem programu. var potat = Ponudba.itemlist.Average(item => item.Cena); Console.WriteLine(potat); Console.ReadLine(); }
static void Main(string[] args) { //############################################################## //#################### naloga 6 ################################ //############################################################## Ponudba.readfromfile(); List <Oddih> itemToRemove = Ponudba.itemlist.FindAll(x => x.Destinacija.Drzava.Contains("Slovenija")); foreach (object o in itemToRemove) { Console.WriteLine(o); } Ponudba.itemlist.RemoveAll(x => x.Destinacija.Drzava.Contains("Slovenija")); //samo izpise vse z lista foreach (object os in Ponudba.itemlist) { Console.WriteLine(os); } Console.WriteLine("##############"); //Med Oddihi poiščite tistega z najdražjo ceno in ga odstranite. Za iskanje uporabite lambda izraz. Najden objekt pri tem tudi izpišite. var maxObject = Ponudba.itemlist.OrderByDescending(item => item.Cena).First(); Console.WriteLine(maxObject); Ponudba.itemlist.Remove(maxObject); //samo izpise vse z lista foreach (object os in Ponudba.itemlist) { Console.WriteLine(os); } Console.WriteLine("#############"); //dodajte nov apartma Apartma delo = new Apartma(naziv: "nekaj", destinacija: new Destinacija { Drzava = "Slovenija" }, cena: 10, steviloProstihMest: 1, steviloPostelj: 1, dovoljenoKajenje: Kajenje.da); Ponudba.itemlist.Add(delo); foreach (object os in Ponudba.itemlist) { Console.WriteLine(os); } Console.WriteLine("#######vsaj eno prosto mesto ######"); //Prebrano ponudbo ustrezno razporedite v dva podseznama. Eden naj vsebuje vse ponudbe, ki imajo na voljo //še vsaj eno prosto mesto, drug pa ostale, ki jih več nimajo. Oba podseznama tudi sortirajte po ceni. List <Oddih> vsajEnoMesto = new List <Oddih>(); List <Oddih> nicProstihMest = new List <Oddih>(); vsajEnoMesto = Ponudba.itemlist.Where(x => x.SteviloProstihMest > 0) .ToList(); foreach (object os in vsajEnoMesto) { Console.WriteLine(os); } Console.WriteLine("######Nic prostih mest#######"); nicProstihMest = Ponudba.itemlist.Where(x => x.SteviloProstihMest == 0) .ToList(); foreach (object os in nicProstihMest) { Console.WriteLine(os); } Console.WriteLine("#############"); //Ustvarite novo datoteko seznamPonudbeIzhod.csv, v katero zapišete samo ponudbe, katerih cena je nižja od 1500€. using (var file = File.CreateText("izhod.csv")) { file.WriteLine("potato"); foreach (var arr in Ponudba.itemlist) { file.WriteLine(string.Join(",", arr)); } } //linq File.WriteAllLines("text.txt", Ponudba.itemlist.Select(x => string.Join(",", x))); Console.WriteLine("#############"); //S pomočjo lambda izraza izračunajte povprečno ceno Oddihov, ter ga izpišite v glavnem programu. var potat = Ponudba.itemlist.Average(item => item.Cena); Console.WriteLine(potat); //############################################################## //#################### naloga 7 ################################ //############################################################## Oseba oseba1 = new Oseba("Damjan", "Oslaj", Spol.moški, DateTime.Today); Oseba oseba2 = new Oseba("Joze", "Neka", Spol.moški, DateTime.Today); Popotnik popotnik1 = new Popotnik("Joze", "Ezoj", "*****@*****.**"); Popotnik popotnik2 = new Popotnik("Franc", "Cnarf", "franc.mail.com"); Popotnik popotnik3 = new Popotnik("Janez", "Zenaj", "janez.mail.com"); Popotnik popotnik4 = new Popotnik("Jasnez", "Zsenaj", "jasnez.mail.com"); var iii = popotnik1.GetType().Name; Console.WriteLine(iii + " ddddddddddd "); Krizarjenje krizarjenje1 = new Krizarjenje(BBalkon.da, 1, 10); Termin termin1 = new Termin(DateTime.Now, 5, 5); krizarjenje1.DodajTerminZaOdhod(termin1); krizarjenje1.dodajPopotnika(krizarjenje1.Odhodi[0], popotnik1); krizarjenje1.dodajPopotnika(krizarjenje1.Odhodi[0], popotnik2); krizarjenje1.dodajPopotnika(krizarjenje1.Odhodi[0], popotnik3); krizarjenje1.odstraniPopotnika(krizarjenje1.Odhodi[0], popotnik4); Console.WriteLine("§§§§§§§§§§§§"); krizarjenje1.Odhodi[0].call(); Console.WriteLine("§§§§§§§§§§§§"); //vse kraje, katerih cena je manjša kot 1200 € Console.WriteLine("######Cena manjsa od 1200#######"); List <Oddih> cenaMajnsaODtdvesto = new List <Oddih>(); cenaMajnsaODtdvesto = Ponudba.itemlist.Where(x => x.Cena < 1200) .ToList(); foreach (object os in cenaMajnsaODtdvesto) { Console.WriteLine(os); } //število ponudb, kjer je destinacija Grčija Console.WriteLine("######Stevilo ponudb iz grcije#######"); var steviloPonudbIzGrcije = Ponudba.itemlist.Where(x => x.Destinacija.Drzava == "Grčija") .Count(); Console.WriteLine(steviloPonudbIzGrcije); //vse ponudbe, ki imajo več kot 3 prosta mesta in jih uredite po ceni (od najcenejše do najdražje) Console.WriteLine("######Vec kot 3 mesta#######"); List <Oddih> vecKotTriMesta = new List <Oddih>(); //////functional verzija //vecKotTriMesta = Ponudba.itemlist.Where(x => x.SteviloProstihMest > 3).OrderBy(x => x.Cena) // .ToList(); //query verzija vecKotTriMesta = (from element in Ponudba.itemlist where element.SteviloProstihMest > 3 orderby element.Cena select element).ToList(); foreach (object os in vecKotTriMesta) { Console.WriteLine(os); } //ceno najdražje ponudbe Console.WriteLine("######Cena najdrazje ponudbe#######"); //var najdrazja = Ponudba.itemlist.Max(x => x.Cena); var najdrazja = (from d in Ponudba.itemlist select d.Cena).Max(); Console.WriteLine(najdrazja); //vse ponudbe iz spanije Console.WriteLine("######Ponudbe iz spanije#######"); List <Oddih> spanija = new List <Oddih>(); spanija = Ponudba.itemlist.Where(x => x.Destinacija.Drzava == "Španija" /* && x.GetType() == "Apartma"*/) .ToList(); foreach (object os in spanija) { Console.WriteLine(os); } //izpis ponudbe 16 Console.WriteLine("######Ponudba 16#######"); var sestnaj = Ponudba.itemlist.FirstOrDefault(x => x.Naziv == "Ponudba 16"); Console.WriteLine(sestnaj); //cena najdrazje Console.WriteLine("######Cena najdrazje ponudbe#######"); var najdrazjaPonudba = Ponudba.itemlist.Max(x => x.Cena); Console.WriteLine(najdrazjaPonudba); //////////////////////////linq q syntax////////////////////////////// ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //vse ponudbe iz spanije Console.WriteLine("######Ponudbe iz spanije LINQ#######"); List <Oddih> spanija2 = new List <Oddih>(); spanija2 = (from element in Ponudba.itemlist where element.Destinacija.Drzava == "Španija" select element).ToList(); foreach (object os in spanija2) { Console.WriteLine(os); } //izpis ponudbe 16 Console.WriteLine("######Ponudba 16 LINQ#######"); var sestnaj2 = (from x in Ponudba.itemlist where x.Naziv == "Ponudba 16" select x).FirstOrDefault(); Console.WriteLine(sestnaj2); //cena najdrazje Console.WriteLine("######Cena najdrazje ponudbe LINQ#######"); var najdr = (from d in Ponudba.itemlist select d.Cena).Max(); Console.WriteLine(najdr); Console.WriteLine("######Apartmas#######"); List <Oddih> apartma = new List <Oddih>(); apartma = Ponudba.itemlist.Where(x => x.Cena > 0 && x.GetType().Name == "Apartma") .ToList(); foreach (object os in apartma) { Console.WriteLine(os); } /////// //////////// /////////////////////////// ////////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// //////Oseba oseba1 = new Oseba("Damjan", "Oslaj", Spol.moški, DateTime.Today); //////Oseba oseba2 = new Oseba("Joze", "Neka", Spol.moški, DateTime.Today); //////Console.WriteLine("Sta osebi enaki ? : " + oseba1.Equals(oseba2)); //////Popotnik popotnik1 = new Popotnik("*****@*****.**", "3", "prii4mek"); //////Popotnik popotnik2 = new Popotnik("*****@*****.**", "i2me", "1"); //////Popotnik popotnik3 = new Popotnik("*****@*****.**", "i1me", "pri4imek"); //////Krizarjenje krizarjenje1 = new Krizarjenje(true, 1, 10); //////Termin termin1 = new Termin(DateTime.Now, 5, 5); //////krizarjenje1.DodajTerminZaOdhod(termin1); //////krizarjenje1.dodajPopotnika(krizarjenje1.Odhodi[0], popotnik1); //////krizarjenje1.dodajPopotnika(krizarjenje1.Odhodi[0], popotnik2); //////krizarjenje1.dodajPopotnika(krizarjenje1.Odhodi[0], popotnik3); //////krizarjenje1.odstraniPopotnika(krizarjenje1.Odhodi[0], popotnik3); //////Console.WriteLine("Odhod krizarjenja bo: " + krizarjenje1.VrniOdhod(0).DatumOdhoda); //////Console.WriteLine("Trenutno število odhodov je: " + krizarjenje1.VrniSteviloOdhodov()); Console.ReadLine(); }