-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProgram.cs
76 lines (64 loc) · 3.22 KB
/
Program.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
using System;
using System.Linq;
using System.Collections.Generic;
// Glavna klasa koja sadrži ulaznu tačku programa
class Program
{
// Metoda koja se poziva prilikom pokretanja programa
static void Main(string[] args)
{
// Kreiranje instance agencije za iznajmljivanje stanova
Agencija agencija = new Agencija();
// Dodavanje različitih tipova stanova u agenciju
Stan nenamjestenStan = new NenamjestenStan(60, Lokacija.Prigradsko, true);
Stan namjestenStan = new NamjestenStan(70, Lokacija.Gradsko, true, 4000, 3);
agencija.DodajStan(nenamjestenStan);
agencija.DodajStan(namjestenStan);
// Dodavanje različitog osoblja u agenciju
Osoblje batler = new Batler { Ime = "James", Prezime = "Bond", Plata = 2500, GodineIskustva = 10 };
Osoblje kuhar = new Kuhar { Ime = "Gordon", Prezime = "Ramsay", Plata = 1800, Jela = new List<string> { "Beef Wellington", "Risotto" } };
agencija.DodajOsoblje(batler);
agencija.DodajOsoblje(kuhar);
// Ispis svih stanova po cijeni
Console.WriteLine("Stanovi sortirani po cijeni:");
agencija.IspisiSveStanovePoCijeni();
// Ispis osoblja po plati
Console.WriteLine("\nOsoblje sortirano po plati:");
agencija.IspisiSvoOsobljePoPlati();
// Testiranje funkcije za iznajmljivanje luksuznog apartmana
TestIznajmljivanjeLuksuznogApartmana(agencija);
// Čekanje korisničkog unosa prije zatvaranja programa
Console.ReadLine();
}
// Dodatna testna funkcija za iznajmljivanje luksuznog apartmana
static void TestIznajmljivanjeLuksuznogApartmana(Agencija agencija)
{
// Simulacija dodavanja osoblja u luksuzni apartman
List<Osoblje> osoblje = new List<Osoblje>
{
new Batler { Ime = "John", Prezime = "Doe", Plata = 2000, GodineIskustva = 5 },
new Kuhar { Ime = "Alice", Prezime = "Smith", Plata = 1500, Jela = new List<string> { "Pasta", "Steak" } },
new Vrtlar { Ime = "Bob", Prezime = "Johnson", Plata = 1000, Stan = new NenamjestenStan(50, Lokacija.Prigradsko, true) }
};
// Kreiranje luksuznog apartmana sa dodatnim osobljem
LuksuzniApartman luksuzniApartman = new LuksuzniApartman(100, Lokacija.Gradsko, true, 5000, 4, osoblje);
agencija.DodajStan(luksuzniApartman);
// Očekivana cijena najma luksuznog apartmana
var ocekivanaCijena = luksuzniApartman.ObracunajCijenuNajma();
// Dohvatanje stanova iz agencije
var stanovi = agencija.Stanovi;
var iznajmljenApartman = stanovi.FirstOrDefault(s => s is LuksuzniApartman) as LuksuzniApartman;
// Ispis rezultata testa iznajmljivanja luksuznog apartmana
Console.WriteLine("\nTest iznajmljivanja luksuznog apartmana:");
if (iznajmljenApartman != null)
{
Console.WriteLine("Luksuzni apartman uspješno iznajmljen.");
Console.WriteLine($"Očekivana cijena: {ocekivanaCijena:C}");
Console.WriteLine($"Izračunata cijena: {iznajmljenApartman.ObracunajCijenuNajma():C}");
}
else
{
Console.WriteLine("Iznajmljivanje luksuznog apartmana nije uspjelo.");
}
}
}