Esempio n. 1
0
        public AppGUI()
        {
            _simulation = new simulation.VacCenterSimulation(this);
            _simulation.OnReplicationWillStart(OnReplicationStart);
            _simulation.OnSimulationDidFinish(OnFinish);
            _simulation.OnRefreshUI(OnUIRefresh);
            _simulation.OnPause(OnPause);
            InitializeComponent();
            Init();
            _registraciaLabels = new Label[] { labelDlzkaRaduRegistracia, labelDobaCakaniaRegistracia, labelVytazenieRegistracia };
            _vysetrenieLabels  = new Label[] { labelDlzkaRaduVysetrenie, labelDobaCakaniaVysetrenie, labelVytazenieVysetrenie };
            _ockovanieLabels   = new Label[] { labelDlzkaRaduOckovanie, labelDobaCakaniaOckovanie, labelVytazenieOckovanie };
            _pacientiLabels    = new Label[] { labelLudiVCakarni, labelDobaCakaniaCakaren };
            _striekackyLabels  = new Label[] { labelDlzkaRaduStriekacky, labelDobaCakaniaStriekacky };

            _parametreSimulacie = new ParametreSimulacie()
            {
                CasSimulacie         = 540 * 60,
                Replikacie           = 1000,
                ReplikaciiNaUpdate   = 100,
                PocetPacientov       = _simulation.AgentOkolia.PocetObjednanychPacientov,
                SpecialnePrichody    = false,
                ZobrazenieZavislosti = false,
                MinAdminov           = _simulation.AgentRegistracie.PocetPracovnikov,
                MaxAdminov           = _simulation.AgentRegistracie.PocetPracovnikov,
                MinDoktorov          = _simulation.AgentVysetrenia.PocetPracovnikov,
                MaxDoktorov          = _simulation.AgentVysetrenia.PocetPracovnikov,
                MinSestriciek        = _simulation.AgentOckovania.PocetPracovnikov,
                MaxSestriciek        = _simulation.AgentOckovania.PocetPracovnikov,
                AktualAdminov        = _simulation.AgentRegistracie.PocetPracovnikov,
                AktualDoktorov       = _simulation.AgentVysetrenia.PocetPracovnikov,
                AktualSestriciek     = _simulation.AgentOckovania.PocetPracovnikov
            };

            trackBarSlider.Maximum = _rychlosti.Length - 1;
            maxRychlostCHB.Checked = MaximalnaRychlost;
            InicializujGraf();
            PredvyplnVstupy();
        }
Esempio n. 2
0
        private void ParseInputs()
        {
            bool error = false;

            bool specialnePrichody;
            bool zobrazenieZavislosti;
            bool autoSeed;

            int seed = 0;
            int pocetInputov;

            TextBox[] inputy          = { inputAdmini, inputDoktori, inputSestricky, inputReplikacie, inputPocetPacientov, inputMaxDoktori, inputZavislostUpdate };
            int[]     nacitaneHodnoty = new int[inputy.Length];
            pocetInputov         = inputy.Length;
            specialnePrichody    = checkBoxSpecifickePrichody.Checked;
            zobrazenieZavislosti = checkBoxZavislost.Checked;
            autoSeed             = checkBoxAutoSeed.Checked;

            if (!zobrazenieZavislosti)
            {
                pocetInputov -= 2;
            }

            for (int i = 0; i < pocetInputov; ++i)
            {
                if (ParseParametersInput(inputy[i], out nacitaneHodnoty[i]))
                {
                    error = true;
                }
            }

            if (!autoSeed)
            {
                if (!int.TryParse(inputSeed.Text, out seed))
                {
                    error          = true;
                    inputSeed.Text = "Wrong value";
                }
            }


            if (!error)
            {
                _parametreSimulacie = new ParametreSimulacie()
                {
                    MinAdminov           = nacitaneHodnoty[0],
                    MinDoktorov          = nacitaneHodnoty[1],
                    MinSestriciek        = nacitaneHodnoty[2],
                    Replikacie           = nacitaneHodnoty[3],
                    PocetPacientov       = nacitaneHodnoty[4],
                    SpecialnePrichody    = specialnePrichody,
                    ZobrazenieZavislosti = zobrazenieZavislosti
                };
                if (zobrazenieZavislosti)
                {
                    _parametreSimulacie.MaxDoktorov        = nacitaneHodnoty[5];
                    _parametreSimulacie.ReplikaciiNaUpdate = nacitaneHodnoty[6];
                }
                _parametreSimulacie.AutoSeed = autoSeed;
                if (!autoSeed)
                {
                    _parametreSimulacie.Seed = seed;
                }
            }
        }