public MobilePhone(string description, DateTime purchaseDate, int warrantyLength, double price, PhoneManufacturer phoneManufacturer, bool batteries, string phoneNumber, string ownerName, string ownerSurname) : base(description, purchaseDate, warrantyLength, price, batteries) { PhoneNumber = phoneNumber; OwnerName = ownerName; OwnerSurname = ownerSurname; PhoneManufacturer = phoneManufacturer; }
public void TestMethod1() { PhoneManufacturer[] manufacturer = new PhoneManufacturer[2]; manufacturer[0] = new RealMeManufacturer(); manufacturer[1] = new SamsungManufacturer(); var realemePhoneFactory = manufacturer[0].ProductFactory(); var realmePhone = realemePhoneFactory.GetPhone(); var samsungPhoneFactory = manufacturer[1].ProductFactory(); var samsungPhone = samsungPhoneFactory.GetPhone(); // var nonChinesPhoneFactory = new SamsungManufacturer().ProductFactory(); var myNonChinesPhone = nonChinesPhoneFactory.GetPhone(); }
public GSMHistory(string model, PhoneManufacturer manufacturer, string owner, float price, BatteryEnumeration battery, DisplayEnumeration display) : base(model, manufacturer, owner, price, battery, display) { this.callHistory = new List<Call>(); }
static void Main(string[] args) { Console.WriteLine("Moguće opcije: \n1.Dodavanje \n2.Brisanje \n3.Ispis preko unesenog serijskog broja" + "\n4.Ispis računala kojima garancija ističe nekoj godini" + "\n5.Ispis koliko komada tehnološke opreme ima baterije \n6.Ispis svih mobitela određene marke" + "\n7.Ispis računala s određenim operacijskim sustavom" + "\n8.Ispis imena i brojeva vlasnika mobitela kojima garancija ističe u određenoj godini" + "\n9.Ispis vozila koijma registracija ističe u sljedećih mjesec dana" + "\n10.Ispis cijene sve opreme, pri kupnji, trenutno te razliku" + "\n11.Završetak rada"); List <Computer> computers = new List <Computer>(); List <MobilePhone> mobilePhones = new List <MobilePhone>(); List <Vehicle> vehicles = new List <Vehicle>(); Initialize(computers, mobilePhones, vehicles); string choice; do { Console.WriteLine("Odaberite opciju: "); choice = Console.ReadLine(); switch (choice) { case "1": Console.WriteLine("Za unos kompjutera unesite 1, za unos mobitela 2, a za unos vozila 3"); var choice2 = Console.ReadLine(); var year = 0; var month = 0; var day = 0; var warranty = 0; var price = 0.0; var flag = false; if (choice2 == "1") { Console.WriteLine("Unos kompjutera\nUnesite opis:"); var description = Console.ReadLine(); while (!flag) { Console.WriteLine("Unesite godinu kada je kupljen:"); flag = int.TryParse(Console.ReadLine(), out year); } flag = false; while (!flag) { Console.WriteLine("Unesite mjesec kada je kupljen:"); flag = int.TryParse(Console.ReadLine(), out month); if (month < 1 || month > 12) { flag = false; } } flag = false; while (!flag) { Console.WriteLine("Unesite dan kada je kupljen"); flag = int.TryParse(Console.ReadLine(), out day); if (day < 1 || day > 31) { flag = false; } } flag = false; while (!flag) { Console.WriteLine("Broj mjeseci garancije:"); flag = int.TryParse(Console.ReadLine(), out warranty); } flag = false; while (!flag) { Console.WriteLine("Cijena:"); flag = double.TryParse(Console.ReadLine(), out price); } Console.WriteLine("Koji je proizvođač, od ponuđenih"); foreach (var name in Enum.GetNames(typeof(ComputerManufacturer))) { Console.Write(name + " "); } Console.Write("\n"); ComputerManufacturer computerManufacturer = ComputerManufacturer.Acer; while (!flag) { var input = Console.ReadLine(); foreach (var name in Enum.GetValues(typeof(ComputerManufacturer))) { if (name.ToString().ToUpper() == input.ToUpper()) { flag = true; computerManufacturer = (ComputerManufacturer)name; } } if (!flag) { Console.WriteLine("Niste upisali jedan od ponuđenih, ponovite: "); } } flag = false; var batteries = false; while (!flag) { Console.WriteLine("Ima li baterije(true/false):"); var input = Console.ReadLine(); if (input.ToLower() == "true") { batteries = true; flag = true; } else if (input.ToLower() == "false") { flag = true; } } Console.WriteLine("Koji je os, od ponuđenih"); foreach (var name in Enum.GetNames(typeof(OperatingSystem))) { Console.Write(name + " "); } Console.Write("\n"); flag = false; OperatingSystem operatingSystem = OperatingSystem.Linux; while (!flag) { var input = Console.ReadLine(); foreach (var name in Enum.GetValues(typeof(OperatingSystem))) { if (name.ToString().ToUpper() == input.ToUpper()) { flag = true; operatingSystem = (OperatingSystem)name; } } if (!flag) { Console.WriteLine("Niste upisali jedan od ponuđenih, ponovite: "); } } flag = false; var laptop = false; while (!flag) { Console.WriteLine("Je li laptop(true/false):"); var input = Console.ReadLine(); if (input.ToLower() == "true") { laptop = true; flag = true; } else if (input.ToLower() == "false") { flag = true; } } computers.Add(new Computer(description, new DateTime(year, month, day), warranty, price, computerManufacturer, batteries, operatingSystem, laptop)); } else if (choice2 == "2") { Console.WriteLine("Unos mobitela\nUnesite opis:"); var description = Console.ReadLine(); while (!flag) { Console.WriteLine("Unesite godinu kada je kupljen:"); flag = int.TryParse(Console.ReadLine(), out year); } flag = false; while (!flag) { Console.WriteLine("Unesite mjesec kada je kupljen:"); flag = int.TryParse(Console.ReadLine(), out month); if (month < 1 || month > 12) { flag = false; } } flag = false; while (!flag) { Console.WriteLine("Unesite dan kada je kupljen"); flag = int.TryParse(Console.ReadLine(), out day); if (day < 1 || day > 31) { flag = false; } } flag = false; while (!flag) { Console.WriteLine("Broj mjeseci garancije:"); flag = int.TryParse(Console.ReadLine(), out warranty); } flag = false; while (!flag) { Console.WriteLine("Cijena:"); flag = double.TryParse(Console.ReadLine(), out price); } Console.WriteLine("Koji je proizvođač, od ponuđenih"); foreach (var pm in Enum.GetNames(typeof(PhoneManufacturer))) { Console.Write(pm + " "); } Console.Write("\n"); flag = false; PhoneManufacturer phoneManufacturer = PhoneManufacturer.Apple; while (!flag) { var input = Console.ReadLine(); foreach (var pm in Enum.GetValues(typeof(PhoneManufacturer))) { if (pm.ToString().ToUpper() == input.ToUpper()) { flag = true; phoneManufacturer = (PhoneManufacturer)pm; } } if (!flag) { Console.WriteLine("Niste upisali jedan od ponuđenih, ponovite: "); } } flag = false; var batteries = false; while (!flag) { Console.WriteLine("Ima li baterije(true/false):"); var input = Console.ReadLine(); if (input.ToLower() == "true") { batteries = true; flag = true; } else if (input.ToLower() == "false") { flag = true; } } Console.WriteLine("Broj mobitela:"); var phoneNumber = Console.ReadLine(); Console.WriteLine("Ime vlasnika:"); var name = Console.ReadLine(); Console.WriteLine("Prezime vlasnika:"); var surname = Console.ReadLine(); mobilePhones.Add(new MobilePhone(description, new DateTime(year, month, day), warranty, price, phoneManufacturer, batteries, phoneNumber, name, surname)); } else if (choice2 == "3") { Console.WriteLine("Unos vozila\nUnesite opis:"); var description = Console.ReadLine(); while (!flag) { Console.WriteLine("Unesite godinu kada je kupljen:"); flag = int.TryParse(Console.ReadLine(), out year); } flag = false; while (!flag) { Console.WriteLine("Unesite mjesec kada je kupljen:"); flag = int.TryParse(Console.ReadLine(), out month); if (month < 1 || month > 12) { flag = false; } } flag = false; while (!flag) { Console.WriteLine("Unesite dan kada je kupljen"); flag = int.TryParse(Console.ReadLine(), out day); if (day < 1 || day > 31) { flag = false; } } flag = false; while (!flag) { Console.WriteLine("Broj mjeseci garancije:"); flag = int.TryParse(Console.ReadLine(), out warranty); } flag = false; while (!flag) { Console.WriteLine("Cijena:"); flag = double.TryParse(Console.ReadLine(), out price); } Console.WriteLine("Koji je proizvođač, od ponuđenih"); foreach (var name in Enum.GetNames(typeof(VehicleManufacturer))) { Console.Write(name + " "); } Console.Write("\n"); flag = false; VehicleManufacturer vehicleManufacturer = VehicleManufacturer.Ford; while (!flag) { var input = Console.ReadLine(); foreach (var name in Enum.GetValues(typeof(VehicleManufacturer))) { if (name.ToString().ToUpper() == input.ToUpper()) { flag = true; vehicleManufacturer = (VehicleManufacturer)name; } } if (!flag) { Console.WriteLine("Niste upisali jedan od ponuđenih, ponovite: "); } } flag = false; var yearE = 0; var monthE = 0; var dayE = 0; var mileage = 0; while (!flag) { Console.WriteLine("Unesite godinu kada ističe registracija:"); flag = int.TryParse(Console.ReadLine(), out yearE); } flag = false; while (!flag) { Console.WriteLine("Unesite mjesec"); flag = int.TryParse(Console.ReadLine(), out monthE); if (monthE < 1 || monthE > 12) { flag = false; } } flag = false; while (!flag) { Console.WriteLine("Unesite dan:"); flag = int.TryParse(Console.ReadLine(), out dayE); if (dayE < 1 || dayE > 31) { flag = false; } } flag = false; while (!flag) { Console.WriteLine("Kilometraza na vozilu: "); flag = int.TryParse(Console.ReadLine(), out mileage); } vehicles.Add(new Vehicle(description, new DateTime(year, month, day), warranty, price, vehicleManufacturer, new DateTime(yearE, monthE, dayE), mileage)); } else { Console.WriteLine("Niste odabrali neku od postojećih opcija, unos prekinut"); } break; case "2": Console.WriteLine("Za brisanje kompjutera unesite 1, mobitela 2, vozila 3"); choice2 = Console.ReadLine(); if (choice2 == "1") { var serialN = ""; foreach (var c in computers) { Console.WriteLine(c.SerialNumber.ToString() + " " + c.ComputerManufacturer + " " + c.OS); } Console.WriteLine("Unesite prvih 5 znakova serijskog broja racunala koje zelite obrisati: "); serialN = Console.ReadLine(); if (EraseComputer(serialN, computers)) { Console.WriteLine("Obrisan"); } else { Console.WriteLine("Brisanje nije uspjelo"); } } else if (choice2 == "2") { var serialN = ""; foreach (var m in mobilePhones) { Console.WriteLine(m.SerialNumber.ToString() + " " + m.PhoneManufacturer.ToString() + " " + m.PhoneNumber); } Console.WriteLine("Unesite prvih 5 znakova serijskog broja mobitela koje zelite obrisati: "); serialN = Console.ReadLine(); if (ErasePhone(serialN, mobilePhones)) { Console.WriteLine("Obrisan"); } else { Console.WriteLine("Brisanje nije uspjelo"); } } else if (choice2 == "3") { var serialN = ""; foreach (var v in vehicles) { Console.WriteLine(v.SerialNumber.ToString() + " " + v.VehicleManufacturer); } Console.WriteLine("Unesite prvih 5 znakova serijskog broja vozila koje zelite obrisati: "); serialN = Console.ReadLine(); if (EraseVehicle(serialN, vehicles)) { Console.WriteLine("Obrisan"); } else { Console.WriteLine("Brisanje nije uspjelo"); } } else { Console.WriteLine("Niste odabrali neku od postojećih opcija, brisanje prekinuto"); } break; case "3": Console.WriteLine("Unesite serijski broj: "); var serialNumber = Console.ReadLine(); var found = false; foreach (var c in computers) { if (c.SerialNumber.ToString() == serialNumber) { Console.WriteLine($"Opis: {c.Description} kupljen:{c.PurchaseDate} garancija:{c.WarrantyLength} cijena:{c.Price}" + $" proizvođač:{c.ComputerManufacturer} baterije:{c.Batteries} os:{c.OS} laptop:{c.Laptop}"); found = true; } } foreach (var m in mobilePhones) { if (m.SerialNumber.ToString() == serialNumber) { Console.WriteLine($"Opis: {m.Description} kupljen:{m.PurchaseDate} garancija:{m.WarrantyLength} cijena:{m.Price}" + $" proizvođač:{m.PhoneManufacturer} baterije:{m.Batteries} ime vlasnika:{m.OwnerName}" + $" prezime vlasnika:{m.OwnerSurname} broj:{m.PhoneNumber}"); found = true; } } foreach (var v in vehicles) { if (v.SerialNumber.ToString() == serialNumber) { Console.WriteLine($"Opis: {v.Description} kupljen:{v.PurchaseDate} garancija:{v.WarrantyLength} cijena:{v.Price}" + $" proizvođač:{v.VehicleManufacturer} registracija do:{v.RegistrationExpiration} kilometraža:{v.Mileage}"); found = true; } } if (!found) { Console.WriteLine("U inventaru ne postoji taj serijski broj"); } break; case "4": Console.WriteLine("Za koju godinu želite popis računala kojima garancija tada istječe:"); var yearEx = int.Parse(Console.ReadLine()); var warrantyExpires = new List <Computer>(); ListComputersByYear(yearEx, computers, warrantyExpires); foreach (var c in warrantyExpires) { Console.WriteLine($"serijski broj {c.SerialNumber}, kupljen: {c.PurchaseDate}, mjeseci garancije:{c.WarrantyLength} "); } break; case "5": var count = CountBatteries(computers, mobilePhones); Console.WriteLine("Broj tehološke opreme s baterijama: " + count); break; case "6": Console.WriteLine("Proizvođači mobitela: "); foreach (var pm in Enum.GetNames(typeof(PhoneManufacturer))) { Console.Write(pm + " "); } Console.Write("\n"); Console.WriteLine("Po kojem proizvođaču želite pretražiti: "); var manufacturer = Console.ReadLine(); var searchManufacturer = new List <MobilePhone>(); SearchPhonesByManufacturer(mobilePhones, manufacturer, searchManufacturer); foreach (var m in searchManufacturer) { Console.WriteLine($"proizvođač:{m.PhoneManufacturer} broj mobitela:{m.PhoneNumber} serijski broj:{m.SerialNumber}"); } break; case "7": Console.WriteLine("Operacijski sustavi: "); foreach (var name in Enum.GetNames(typeof(OperatingSystem))) { Console.Write(name + " "); } Console.Write("\n"); Console.WriteLine("Po kojem OS-u želite pretražiti: "); var os = Console.ReadLine(); var searchOS = new List <Computer>(); SearchComputersByOS(computers, os, searchOS); foreach (var c in searchOS) { Console.WriteLine($"OS:{c.OS} proizvođač:{c.ComputerManufacturer} serijski broj:{c.SerialNumber}"); } break; case "8": Console.WriteLine("Za koju godinu želite popis mobitela kojima garancija tada istječe:"); var yearWarrantyExpires = int.Parse(Console.ReadLine()); var warrantyExpiresPhones = new List <MobilePhone>(); ListPhonesByYear(yearWarrantyExpires, mobilePhones, warrantyExpiresPhones); foreach (var p in warrantyExpiresPhones) { Console.WriteLine($"ime vlasnika:{p.OwnerName} prezime vlasnika:{p.OwnerSurname} broj mobitela {p.PhoneNumber}"); } break; case "9": Console.WriteLine("Ispis vozila kojima registracija ističe sljedećih mjesec dana:"); var warrantyExpiresVehicles = new List <Vehicle>(); InTheNextMonth(vehicles, warrantyExpiresVehicles); foreach (var v in warrantyExpiresVehicles) { Console.WriteLine($"serijski broj:{v.SerialNumber} proizvođač:{v.VehicleManufacturer} registracija istjece:{v.RegistrationExpiration}"); } break; case "10": Console.WriteLine("Cijene vozila:"); double newPriceWehicle; foreach (var v in vehicles) { newPriceWehicle = PriceVehicle(v.Price, v.Mileage); var difference = v.Price - newPriceWehicle; Console.WriteLine($"serijski broj:{v.SerialNumber} pocetna cijena:{v.Price} kilometraza:{v.Mileage} trenutna cijena:{newPriceWehicle} razlika:{difference}"); } Console.WriteLine("Cijene opreme:"); double newPriceEquipment; foreach (var m in mobilePhones) { newPriceEquipment = PriceEquipment(m.Price, m.PurchaseDate); var difference = m.Price - newPriceEquipment; Console.WriteLine($"serijski broj:{m.SerialNumber} pocetna cijena:{m.Price} kupljen:{m.PurchaseDate} trenutna cijena:{newPriceEquipment} razlika:{difference}"); } foreach (var c in computers) { newPriceEquipment = PriceEquipment(c.Price, c.PurchaseDate); var difference = c.Price - newPriceEquipment; Console.WriteLine($"serijski broj:{c.SerialNumber} pocetna cijena:{c.Price} kupljen:{c.PurchaseDate} trenutna cijena:{newPriceEquipment} razlika:{difference}"); } break; default: break; } }while (choice != "11"); }
public GSMStatic(string model, PhoneManufacturer manufacturer, string owner, float price, BatteryEnumeration battery, DisplayEnumeration display) : base(model, manufacturer, owner, price, battery, display) { }