//Julkinen ohjelman ajo metodi. public static void Run() { //Aloitetaan ohjelma määrittelemällä muuttjat ja piirtämällä valikko. bool NotEnd = true; int OldValue = 7; Initialize(); JobMenu.Draw(); //Suoritetaan while looppia kunnes käyttäjä haluaa lopettaa ohjelman (syöttää nollan). while (NotEnd) { Write("Valitse työn id (nolla lopettaa):"); int Value = InputInspector(ReadLine()); Console.SetCursorPosition(0, 0); //Annettessa uusi arvo päivitetään tiedot. Tarkistetaan myös että annettu arvo on uusi, ettei tietoja ja ohjelmaa ajeta "turhaan". if (Value != 0 && Value != OldValue) { MenuSelectionChanged(Value); OldValue = Value; } //Jos annettu syöte on 0 ohjelman suoritus loop päättyy. else if (Value == 0) { NotEnd = false; } } Write("Ohjelma suljetaan, paina Enter."); ReadLine(); }
public static void Run() //julkinen metodi Run, joka kutsuu ensin metodia Initialize ja sen jälkeen Draw { Initialize(); JobMenu.Draw(); do { SetCursorPosition(0, 0); Write("Valitse työn Id (nolla lopettaa):"); //pyydetään syöte if (int.TryParse(ReadLine(), out int syote)) //syöte pakotetaan kokonaisluvuksi { if (syote == 0) //jos syöte on nolla, lopetetaan { SetCursorPosition(0, 10); break; } MenuSelectionChanged(syote); if (syote > JobMenu.Items.Count || syote < 1) //jos Id ei löydy, pyydetään käyttäjää syöttämään uusi luku { SetCursorPosition(0, 10); Write("Virheellinen syöte, paina enter."); ReadLine(); } } } while (true); }
private static void MenuSelectionChanged(int arvo) { foreach (Job job in Data.jobs) { if (job.Id.Equals(arvo)) { Mediator.Instance.OnJobChanged(JobMenu, job); JobDetails.Draw(); JobEmployees.Draw(); } } }
//Uuden arvon saatuaan päivitetään käyttäjälle näytettävät arvot. private static void MenuSelectionChanged(int Compare) { for (int u = 0; u < Data.jobs.Count; u++) { if (Data.jobs[u].Id == Compare) { Mediator.Instance.OnJobChanged(JobMenu, Data.jobs[u]); } } //Työntietojen päivitys. for (int i = 0; i < JobDetails.Items.Count; i++) { JobDetails.Draw(); } //Työntekijöiden päivitys. for (int i = 0; i < 1; i++) { JobEmployees.Draw(); } }