示例#1
0
        //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();
         }
     }
 }
示例#4
0
 //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();
     }
 }